【发布时间】:2019-02-20 05:43:33
【问题描述】:
用户在该产品的书签中有一个查询,也考虑该产品的喜欢并在表格中显示所有产品:
SELECT P.*,
COUNT(L.USER_ID) AS LIKES,
(B.PRODUCT_ID = P.PRODUCT_ID AND B.USER_ID = B.USER_ID) AS BOOKMARKS
FROM PRODUCTS AS P
LEFT JOIN LIKES_PRODUCTS AS L ON (L.PRODUCT_ID = P.PRODUCT_ID)
LEFT JOIN BOOKMARKS_PRODUCTS AS B ON (B.PRODUCT_ID = P.PRODUCT_ID)
GROUP BY P.PRODUCT_ID, B.PRODUCT_ID, B.USER_ID ORDER BY P.PRODUCT_ID
但是他将产品添加到产品中已有的产品中,并没有显示false,而只显示true,假的显示null代替它的位置:
product_id | product_name | ... | LIKES | BOOKMARKS |
------------------------------------------------------
1 | name 1 | ... | 0 | true |
1 | name 1 | ... | 0 | true |
2 | name 2 | ... | 0 | NULL |
3 | name 3 | ... | 0 | NULL |
4 | name 4 | ... | 0 | NULL |
为什么他给我加了一个额外的产品1并且没有显示书签栏false,但是null呢?我哪里错了请帮帮我。
【问题讨论】:
标签: sql postgresql sql-null