我有一张包含一些数据的表格:
id month price
100 May 2000
100 June 3000
100 July 2500
192 March 2000
192 May 2000
101 May 2000
101 June 3000
100 August 3100
我需要通过仅使用INTERCEPT来获取ID。
1)如果“id”有月“May”和价格“2000”,并且相同的“id”也有月“June”和价格“3000”。 示例:100,101具有“May = 2000”和“June = 3000”
我需要通过仅使用EXCEPT来获取ID。
2)如果“id”有月“May”和价格“2000”,但是同一个“id”没有月份“June”和价格“3000”
示例:192具有“May = 2000”但不具有“June = 3000”
请不要使用IN。
答案 0 :(得分:0)
是的,您完全正确,将列名[月]更改为其他名称[月],然后您将按预期获得结果。
select id from table_name where months='May' and price='2000'
INTERSECT
select id from table_name where months='June' and price='3000'
select id from table_name where months='May' and price='2000'
EXCEPT
select id from table_name where months='June' and price='3000'