gpt4 book ai didi

Mysql子查询返回多行

转载 作者:行者123 更新时间:2023-11-29 08:37:02 25 4
gpt4 key购买 nike

我已经浏览了很多链接,但没有一个可以解决我的问题。所以请不要说它显示出更少的工作量,尽管我以前曾在 MySql 上工作过,但从未遇到过需要使用子查询的情况。所以,这是我的疑问..

"SELECT * FROM klms as Klm WHERE gcil_id = (SELECT id FROM gcils WHERE genre = 'Clothes')"

显然,我有超过 1 行,其中类型 = 'Clothes',因此它将返回 >1 行..但随后它显示此错误

Error: SQLSTATE[21000]: Cardinality violation: 1242 Subquery returns more than 1 row

顺便说一句,我在我的应用程序中使用 cakephp,我发现使用 SQL 查询更容易。

最佳答案

使用 IN 代替 equal:

SELECT * 
FROM klms as Klm
WHERE gcil_id IN (SELECT id FROM gcils WHERE genre = 'Clothes')

或者您可以使用INNER JOIN:

SELECT DISTINCT klm.* 
FROM klms as Klm
INNER JOIN gcils g ON Klm.gcil_id = gcils.id
WHERE g.genre = 'Clothes'

关于Mysql子查询返回多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14965698/

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