我有一张区域表area:areaid,areaname,propertyid
还有一张设施表property:propertyid,propertyname
现在我有一个需求就是保存在area表里的propertyid是有多个值的,比如说1,2,3这种,现在我想通过一个sql语句来输出我区域里propertyid所对应的propertyname。
我开始是这样写的:select a.areaid,a.areaname,p.propertyname from area a ,property p where a.propertyid in (select propertyid from property)
 
求正确sql,感激不尽。

解决方案 »

  1.   

    select a.areaid,a.areaname,p.propertyname 
     from area a ,property p 
    where charindex(','+a.propertyid +',',','+p.propertyid+',')>0
      

  2.   


    --或者用like
    select a.areaid,a.areaname,p.propertyname 
     from area a ,property p 
    where ','+p.propertyid+',' like '%,'+a.propertyid +',%'
      

  3.   

    这条sql语句不能在oracle中执行吧?提示charindex无效
      

  4.   

    oracle用like试试,不行就去oracle版问问吧。
      

  5.   

    一楼兄弟,你说的两条语句是不是只能再sqlserver下执行?
      

  6.   

    我在公司是用的sqlserver,但是家里只装了oracle...如果在sqlserver中能够执行就好...
      

  7.   

    是的,在SQL中是可以执行的。