【发布时间】:2013-12-03 07:02:40
【问题描述】:
我希望我的措辞在提出这个问题时是正确的 - 此查询正在提取发票,并且发票上的项目可以通过行访问 - 我正在尝试验证 xx_isfunctionalservice 在同一张桌子上是否是和否 - 这应该永远是真的
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
我尝试从同一张表中执行此操作,但这没有任何意义 - 我希望调出另一个表可以让我比较同一张表中的两个不同值。我可以通过两个查询来做到这一点,我敢肯定,更容易,但我更愿意保持这个干净
【问题讨论】:
-
不是 100% 清楚您的要求 - 您需要
xx_isfunctionalservice IN ('y','n')吗? -
你可以看出我是一个 SQL 新手 - 这似乎在做伎俩
-
话虽如此,这是一个测试真实数据的查询 - 我正在尝试做的实际上是排除任何显示按相同 doc_id 分组的“y”和“n”的内容
-
我猜 NOT IN('y','n') 似乎是逻辑上的对立面......现在我必须想出一个很好的测试方法......因为它什么也没返回,即使那是我想要什么
-
我想测试你试试
NOT IN ('y')并确保你的'n'条目显示,然后换成n并尝试同样的方法。我会将我的评论放在答案中,这样问题就不会“悬而未决”。干杯。
标签: sql visual-studio tsql reporting-services