我有两个表:tracklist(trackid artist event date)
和radded(trackid, user)
与关系1到n(trackid是每个表上的键)。MySql - 加入问题
我希望通过添加一个名为exist
的新字段来返回整个曲目表,如果每个行的相关轨道的radded表上存在一个用户(传递了查询结果),则该字段应该为1或0。
实施例:
曲目列表
*trackid artist event date*
123 art1 eve1 date1
321 art2 eve2 date2
456 art3 eve3 date3
298 art4 eve4 date4
565 art5 eve5 date5
radded
trackid user
123 luigi
123 mario
321 luigi
298 mario
298 antonio
如果我使用路易作为用户,输出必须是:
123 art1 eve1 date1 1
321 art2 eve2 date2 1
456 art3 eve3 date3 0
298 art4 eve4 date4 0
565 art5 eve5 date5 0
我该如何做这个查询?
这正是我以前所做的。但是,这不幸的是不会返回“0”,如果trackid用户不存在radded ... – markzzz 2011-02-27 13:44:42
是的,'左外部JOIN'。它不工作.. – markzzz 2011-02-27 13:46:52
@markzzz:对不起,你是对的。我更新了答案,这应该工作。使用一个子查询来获取luigi-lines。 – Konerak 2011-02-27 13:50:03