gpt4 book ai didi

mySQL 结合两个表我得到更多结果

转载 作者:行者123 更新时间:2023-11-29 22:03:29 24 4
gpt4 key购买 nike

我有一张这样的 table

用户|项目ID

还有另一个像这样的表:

项目ID |项目特征1 | itemTrait2 等...

我正在尝试链接一个查询中的表,这应该很简单。我像这样进行查询:

SELECT * FROM Table1, Table2  WHERE Table1.userID = 1 AND Table1.itemID = Table2.itemID;

问题是我收到了 456 个返回结果,但如果我只是运行:

SELECT * FROM Table1 WHERE userID = 1;

我得到 434 个结果。这两个语句应该得到相同数量的返回结果吗?

我想象这个调用的工作原理是,对于表 1 中用户 1 的每个条目,它都会将其连接到表 2 中的项目数据?我想我在这里遗漏了一些东西。

最佳答案

基于 itemID 组合两个表的查询

select * from table1 t1
left join table t2 on t1.itemID = t2.itemID
where t1.itemID = 1;

如果您获取的记录多于table1 的记录,那么您的第二个表table2 必须有多个itemID 记录。例如

表1

user | itemId               
---------------
1 | 1

表2

itemId  |   itemTrait1    | itemTrait2  
----------------------------------------
1 | A | B
1 | C | D

现在,当您在此处应用联接时,它将把 itemID 1 与第二个表的两个项目联接起来。

关于mySQL 结合两个表我得到更多结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32385495/

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