我希望我的措辞是正确的,可以提出这个问题 - 这个查询正在拉发票,发票上的项目可以按行访问 - 我正在尝试验证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
我尝试从同一个表中执行此操作,这没有任何意义 - 我希望启动另一个表,让我比较来自同一个表的两个不同的值。我可以用两个查询做到这一点,我敢肯定,更容易,但我更愿意保持这个干净
答案 0 :(得分:1)
要检查'y'或'n',最好的解决方案是使用IN
即:
xx_isfunctionalservice IN ('y','n')