SSRS验证来自同一列的不同结果

时间:2013-11-19 16:09:05

标签: sql visual-studio tsql reporting-services

我希望我的措辞是正确的,可以提出这个问题 - 这个查询正在拉发票,发票上的项目可以按行访问 - 我正在尝试验证xx_isfunctionalservice是否为yes而且在同一个表上没有 - 这应该永远是真的

SELECT     ONP_C_ORDERLINE.C_ORDER_ID, ONP_C_ORDERLINE_1.C_ORDER_ID
FROM         ONP_C_ORDERLINE INNER JOIN
                  ONP_M_PRODUCT ON ONP_C_ORDERLINE.M_PRODUCT_ID = ONP_M_PRODUCT.M_PRODUCT_ID INNER JOIN
                  ONP_C_ORDERLINE AS ONP_C_ORDERLINE_1 ON ONP_C_ORDERLINE.C_ORDERLINE_ID = ONP_C_ORDERLINE_1.C_ORDERLINE_ID AND 
                  ONP_M_PRODUCT.M_PRODUCT_ID = ONP_C_ORDERLINE_1.M_PRODUCT_ID INNER JOIN
                  ONP_M_PRODUCT AS ONP_M_PRODUCT_1 ON ONP_C_ORDERLINE.M_PRODUCT_ID = ONP_M_PRODUCT_1.M_PRODUCT_ID
WHERE     (ONP_M_PRODUCT.XX_ISFUNCTIONALSERVICE = 'y') AND (ONP_M_PRODUCT_1.XX_ISFUNCTIONALSERVICE = 'n')
GROUP BY ONP_C_ORDERLINE.C_ORDER_ID, ONP_C_ORDERLINE_1.C_ORDER_ID

我尝试从同一个表中执行此操作,这没有任何意义 - 我希望启动另一个表,让我比较来自同一个表的两个不同的值。我可以用两个查询做到这一点,我敢肯定,更容易,但我更愿意保持这个干净

1 个答案:

答案 0 :(得分:1)

要检查'y'或'n',最好的解决方案是使用IN

即:

xx_isfunctionalservice IN ('y','n')