放一个「;(及)";关于sqlquery的字符串

放一个「;(及)";关于sqlquery的字符串,sql,sql-server,Sql,Sql Server,上面的sqlquery没有固定字段,当用户在字段/控件中输入值时,它可能会扩展为更多字段。 我的要求是: 如果只有一个“PropType”,则什么也不做 如果有多个“PropType”,请在第一个“PropType”之前加上“(”,然后 最后一个“PropType”的值后的“') 上面的查询应该是这样的: string sqlquery= Select userPropID , PropType, PropLoc, PropTranType,PropFloorNo From dbo.tbl_al

上面的sqlquery没有固定字段,当用户在字段/控件中输入值时,它可能会扩展为更多字段。 我的要求是:

  • 如果只有一个“PropType”,则什么也不做
  • 如果有多个“PropType”,请在第一个“PropType”之前加上“(”,然后 最后一个“PropType”的值后的“')
  • 上面的查询应该是这样的:

    string sqlquery=
    Select userPropID , PropType, PropLoc, PropTranType,PropFloorNo From dbo.tbl_allProperties 
    WHERE PostPropFor = 'Sale' AND  PropCity = '4320-1001041'  
    AND PropType ='Business Centre' OR PropType ='Space in Shopping Mall' OR PropType ='Commercial Showroom' AND PropImage !='~/user_prop_images/noImage.jpg'
    

    您的描述将修改单独行上的值。如果是这样,您可以使用
    row\u number()
    case
    语句:

    Select userPropID , PropType, PropLoc, PropTranType,PropFloorNo From dbo.tbl_allProperties 
    WHERE PostPropFor = 'Sale' AND  PropCity = '4320-1001041'  
    AND (PropType ='Business Centre' OR PropType ='Space in Shopping Mall' OR PropType ='Commercial Showroom') AND PropImage !='~/user_prop_images/noImage.jpg'
    

    你能编辑这个问题并展示一个输出的例子吗?戈登·林诺夫先生,谢谢你的快速回答。您的解决方案给出的结果与我的查询结果相同。我已经用案例陈述解决了我的问题。再次感谢。问题已经解决了。
    Select userPropID,
           (case when row_number() over (partition by userPropId order by PropTYpe) = 1 then '(' + PropType
                 when row_number() over (partition by userPropId order by PropTYpe desc) = 1 then PropType + ')'
                 else PropType
            end) as PropType
           PropLoc, PropTranType, PropFloorNo
    From dbo.tbl_allProperties 
    where PostPropFor = 'Sale' AND  PropCity = '4320-1001041'  AND 
          PropType in ('Business Centre', 'Space in Shopping Mall', 'Commercial Showroom') AND
          PropImage !='~/user_prop_images/noImage.jpg';