sql-如何在子查询中使用外部查询的列?

sql-如何在子查询中使用外部查询的列?,第1张

概述我有一个包含库存记录的表,另一个包含描述每个库存记录的文档的表,例如:inventory (t1) t1id t1c1 1 desc1 2 desc2 3 desc3 documents (t2) t2id t2c1 t1id 1 doc1 1 2

我有一个包含库存记录的表,另一个包含描述每个库存记录的文档的表,例如:

inventory (t1)t1ID        t1c11          desc12          desc23          desc3documents (t2)t2ID    t2c1     t1ID1       doc1     12       doc2     13       doc3     24       doc4     3

所以我尝试这个查询,我收到一条错误消息,告诉我子查询= s附近没有这样的列(t1.t1ID)

SELECT t1c1,(SELECT GROUP_CONCAT(t2c1) FROM t2 WHERE t1.t1ID = t2.t1ID) FROM t1

有任何想法吗?最佳答案这适用于5.0和5.1:

CREATE table t1 (t1ID INT NOT NulL,t1c1 VARCHAR(20) NOT NulL);CREATE table t2 (t2ID INT NOT NulL,t2c1 INT NOT NulL,t1ID INT NOT NulL);SELECT  t1c1,(        SELECT  GROUP_CONCAT(t2c1)        FROM    t2        WHERE   t1.t1ID = t2.t1ID        )FROM    t1

您可以尝试将其重写为JOIN:

SELECT  t1c1,GROUP_CONCAT(t2c1)FROM    t1left JOIN        t2ON      t2.t1ID = t1.t1IDGROUP BY        t1.t1ID
总结

以上是内存溢出为你收集整理的sql-如何在子查询中使用外部查询的列? 全部内容,希望文章能够帮你解决sql-如何在子查询中使用外部查询的列? 所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1165473.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存