加入多列的 SQL 查询

标签 sql syntax join union

我试图将 2 个表中的一些数据连接在一起,但在几列上。这是一个例子:

Source table

ID | Desc| AAAA| BBBB|

Table2 table

ID | Text| ID1 | ID2 | ID3 |



其中 ID1、ID2 和 ID3 位于 表2 是来自 的 ID来源 table

我想做一个产生结果的查询:
Table2.Text,
Source.Desc(ID1),
Source.AAAA(ID1),
Source.Desc(ID2),
Source.AAAA(ID2),
Source.Desc(ID3),
Source.AAAA(ID3)

我猜这将是一个连接,但我无法正确使用语法......或者我会更好地使用 Union 吗?

最佳答案

你可以只使用多个连接,不是吗?例如:

SELECT tb.Desc, s1.Desc, s1.AAAAA, s2.Desc, s2.AAAAA, s3.Desc, s3.AAAA
FROM Table2 tb
    INNER JOIN Source s1 ON tb.ID1 = s1.ID
    INNER JOIN Source s2 ON tb.ID2 = s2.ID
    INNER JOIN Source s3 ON tb.ID3 = s2.ID

关于加入多列的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/878376/

相关文章:

c++ - 这属于什么 C++ 风格的语法

php - SQL LEFT JOIN 不使用主键的查询太慢,如何加快速度?

sql-server - 使用 2 个 where 子句连接 3 个表,得到空结果

sql - 使用 'yyyymmdd' 格式将 Varchar 转换为 Datetime

mysql - Laravel 过滤多个WhereIn 数组

mysql - 选择最新的行,忽略旧的重复项

sql - 从管道分隔的文本文件中提取列并使用 powershell 输出

java - 如何更新 MySQL 中的多个列(通过 Java)?

javascript - 如何在 JavaScript 中指定 float32 限制?

php - 从 2 个表中选择行数并合并为一行(mysqli)