gpt4 book ai didi

mysql - 在 SQL 的一个输出中组合表值

转载 作者:行者123 更新时间:2023-11-29 06:36:13 25 4
gpt4 key购买 nike

我有两张表:一张叫做tweets,一张叫做referencestweets 由行 tweet_idclassified 等组成。 references 由行 tweet_idclass_id 组成。

references 表中的 tweet_id 行仅占 tweets< 表中总 tweet_id 的一小部分.

我想做的是以最终表显示行 r.tweet_idt.classifiedr 的方式组合这些表.class_id.

我提出了这个查询,但出于某种原因,它显示了零行输出。然而实际上,r.tweet_id 中大约有 900 行,它们都存在于 t.tweet_id 中。

SELECT 't.tweet_id', 't.classified', 'r.tweet_id', 'r.class_id'
FROM `tweets` t, `references` r
WHERE 'r.tweet_id' = 't.tweet_id'

有人可以告诉我我做错了什么以及我应该如何更改我的脚本以获得预期的结果吗?

最佳答案

Mysql 使用反引号 `escape schema object names (列、表、数据库)和撇号 ' 和引号 "escape strings 所以你正在比较字符串 r.tweet_id 和字符串 t.tweed_id 在你的条件下(应该是假的),做:

SELECT t.tweet_id, t.classified, r.tweet_id, r.class_id
FROM tweets AS t
INNER JOIN `references` AS r ON r.tweet_id = t.tweet_id

请注意,您必须转义单词 references 因为它是 reserved word in mysql您可以省略其他反引号。

此外,如果您还想显示像 1, 2, NULL, NULL 这样的行(未分类的推文),您可以使用 LEFT JOIN instead of INNER JOIN ;如果你允许每条推文有多个分类,一些 GROUP BY (Aggregate) Functions可能会派上用场。

顺便说一句:PostgreSQL uses " 用于架构对象名称,' 用于字符串。

关于mysql - 在 SQL 的一个输出中组合表值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24594677/

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