【发布时间】:2017-01-30 18:52:42
【问题描述】:
我有一个表TABLE_CLIENT_BOOK,其中包含USER_ID 和BOOK_CODE。此表显示了所有具有特定 USER_ID 的书籍。
USER_ID BOOK_CODE
------------------------------
1 123
1 124
1 567
2 123
2 432
3 432
3 567
-------------------------------
我还有一张表TABLE_BOOK,其中包含每本书的详细信息。
BOOK_CODE DETAILS
----------------------------------
123 abcd
124 pqrs
432 xyzw
567 lmnop
568 efgh
----------------------------------
我想在两个表之间写一个查询,这两个表将输出USER_ID 和BOOK_CODE,其中 BOOK_CODE 列应该具有来自TABLE_BOOK 的所有书籍的 ID,而该用户没有。例如用户 1 没有书籍 432 和 568,用户 2 没有 124、567 和 568,用户 3 没有 123、124、568。
所以查询的结果表是:
USER_ID BOOK_CODE
----------------------------
1 432
1 568
2 124
2 567
2 568
3 123
3 124
3 568
-----------------------------
此报告用于宣传用户没有的图书。
如何在 DB2 9 的 SQL 中实现这一点?
感谢阅读!
【问题讨论】:
-
家庭作业?你试过什么?向我们展示您当前的查询尝试!
-
@jarlh: 我太老了,不能做作业了 :) 心理障碍
-
我认为 left join 可以为你工作。
-
维姬。如果没有 Group By,这对您有用吗?发送。