一尘不染

SQL-从两个不同的表中选择行

mysql

有这张桌子

Table "Items"

itemID
itemTitle
itemContent

和这个

Table "MyList"

userID
itemID
deleted

我如何从表“项目”中选择所有行并显示字段“已删除”,即使在给定用户ID的情况下,即使“ MyList”中不存在itemID?

查询结果示例:

itemID | itemTitle | deleted | userID
-------------------------------------
1      | Title1    | 1       | 2
2      | Title2    | 0       | 2
3      | Title3    | (null)  | (null)
4      | Title4    | (null)  | (null)

什么是查询,以便我可以得到该结果?

谢谢


阅读 265

收藏
2020-05-17

共1个答案

一尘不染

我不确定这是否是最好的方法,但它会返回我一直在寻找的内容:

select itemID, itemTitle, deleted, userID
FROM(
SELECT i.id_itemID, i.itemTitle, M.deleted, M.userID
FROM
    MyList M
    right OUTER JOIN Items I ON I.itemID= M.itemID
) as MyTableItems
where itemID = 3 or itemID is null
2020-05-17