gpt4 book ai didi

MySql——加入烦恼

转载 作者:行者123 更新时间:2023-12-01 00:15:20 25 4
gpt4 key购买 nike

我有两个表:tracklist(trackid artist event date)raded(trackid, user) 具有 1 到 n 的关系(trackid 是每个表上的键) .

我想通过添加一个名为 exist 的新字段来返回整个 tracklist 表,如果用户(通过查询)存在于相关的 raded 表中,则该字段应为 1 或 0每行的 trackid。

示例:

轨道列表

*trackid artist event date*
123 art1 eve1 date1
321 art2 eve2 date2
456 art3 eve3 date3
298 art4 eve4 date4
565 art5 eve5 date5

已添加

trackid user
123 luigi
123 mario
321 luigi
298 mario
298 antonio

如果我使用 luigi 作为用户,输出必须是:

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

我该如何执行此查询?

最佳答案

使用 LEFT OUTER JOINtracklistraded where user="luigi"。这将从 tracklist 中获取每一行恰好一次,如果 username 存在,将放入 NULL 如果没有找到合适的用户名。

然后将用户名转换为1,或将NULL转换为0,并将该列重命名为exist

SELECT t.trackid, t.artist, t.event, t.date, IF(r.user IS NULL, 0, 1) AS exist
FROM tracklist t
LEFT OUTER JOIN (SELECT * from radded where user = "luigi") r
ON t.trackid = r.trackid

关于MySql——加入烦恼,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5133506/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com