有两个表a,b,
a表中数据如下:ServicePriceID(主键)、Item、Price。
b表中数据如下:ServiceRebateID(主键)、CardType、ServicePriceID(和a表关联)、
目的:想查找Item和Price 满足条件 CardType = 123 并且b.ServicePriceID 不在a中的所有数据.
流程: 首先查找CardType = 123的所有记录在b表中,然后把这些记录的ServicePriceID和a表中的所有
ServicePriceID做一个比较,把所有没有用到的ServicePriceID相关联的Item和Price都打印出来。
具体的SQL语句该如何写?请各位大大帮忙。
我写的是
SELECT Item,Price
FROM ServicePrice,ServiceRebate
WHERE ServicePrice.ServicePriceID <> ANY
(
SELECT ServicePriceID
FROM ServiceRebate
WHERE ServiceRebate.CardTypeID = 123
)
可出来的记录不对。
SELECT Item,Price
FROM ServicePrice
WHERE ServicePriceID not in
(
SELECT ServicePriceID
FROM ServiceRebate
WHERE ServiceRebate.CardTypeID = 123
)
SELECT Item,Price
FROM a
WHERE ServicePriceID not in (select ServicePriceID from b where CardTypeID = 123)