gpt4 book ai didi

mysql - SQL - 如何使用不同表中的数字获取名称?

转载 作者:太空宇宙 更新时间:2023-11-03 12:29:15 25 4
gpt4 key购买 nike

下面是我使用 SQL 为数据库创建的表。我无法弄清楚如何从 likes 表中为 ID 和 LIKED 显示名称。

这个任务应该很简单,能够显示彼此喜欢的人的名字。有一个数据输入表单,要求为彼此喜欢的人输入 ID,但我必须显示两个彼此喜欢的人的名字……我希望我没有把这弄糊涂.一些SQL代码是否可以显示谁喜欢谁的名字。

CREATE TABLE person 
(
ID INT PRIMARY KEY,
NAME VARCHAR(50)
) engine=innodb;

CREATE TABLE likes
(
ID INT,
LIKED INT,
constraint likesPK primary key(ID,LIKED),
constraint personFK foreign key(ID) references person(ID)
on delete cascade on update cascade,
constraint nameFK foreign key(LIKED) references person(ID)
on delete cascade on update cascade
) engine=innodb;

我尝试做但需要多一列来显示“喜欢”的人的示例:

     select B.id, B.name, A.lIKED from likes A, person B where A.id=B.id AND A.id = 1;

最佳答案

首先,我朝您的大致方向挥动手指。编程需要精确,而您的短语“使用 sql”含糊不清。如果你的意思是 sql server 这么说。事实上,编辑您的帖子并添加适当的标签。

其次,您的删除级联位于错误的位置。事实上,在这种情况下,删除级联可能是一个非常糟糕的主意。

第三,那又是什么?哦,是的,你的问题。我如何向彼此喜欢的人展示?大概是这样的:

select p1.whatever, p2.whatever
from person p1 -- this would be me
join likes l1 on p1.id = l1.id -- this is who I like, which is you
join likes l2 on l1.liked = l2.id -- this is who you like, which is me
join person p2 on l2.id = p2.id -- this is you
etc

顺便说一句,我认为这并不简单。

关于mysql - SQL - 如何使用不同表中的数字获取名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16248035/

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