从表中检索数据

时间:2016-02-22 10:42:38

标签: sql database db2

我有两张桌子

表A

Cust_ID | Channel_CODE                       

表B

Channel_code | Channel_name

我想要channel_codes尚未订阅的所有channel_namescust_id

假设在表B中我们有

101 | Discovery_channel

然后我想要除客户ID 101的发现渠道之外的所有其他渠道。

提前致谢。

1 个答案:

答案 0 :(得分:1)

您可以使用JOIN和NOT IN():

SELECT t.Cust_ID,s.Channel_code,s.Channel_name
FROM (select distinct cust_id from TableA) t
INNER JOIN TableB s ON(1=1)
WHERE s.Channel_code NOT IN(select f.Channel_code from TableA f
                            WHERE f.Cust_ID = t.Cust_ID)

这将为您提供customer_id不会观看的所有channel_codes