SQL查询多个列从同一个表中选择
问题描述:
我试图加入两个表,其中表1将表2中的值拉出并将它们存储在单独的列中。为了描述的情况:SQL查询多个列从同一个表中选择
Table 1
[ID][Name][TBL2_ID_Field1][TBL2_ID_Field2]
1 XYZ 3 4
Table 2
[ID][Type][Description1][Description2]
3 AA TEST TEST
4 BB TEST2 TEST2
我需要显示一些如表:
[ID][Name][TBL2_ID_Field1_DESC1][TBL2_ID_Field2_DESC1]
1 XYZ TEST TEST2
查询为...
SELECT tbl1.id, tbl1.name, tbl2.description1 as "tbl2_id_field1_desc1", tbl2.description1 as "tbl2_id_field2_desc1"
FROM Table1 tbl1, Table2 tbl2
WHERE tbl1.tbl2_id_field1 = table2.id
AND tbl1.tbl2_id_field2 = table2.id
显然是不工作,但我不知道还有什么可以尝试的。
任何帮助表示赞赏!请让我知道,如果我没有足够的澄清。
答
加入表2的两倍:
SELECT
tbl1.id,
tbl1.name,
tbl21.description1 as "tbl2_id_field1_desc1",
tbl22.description1 as "tbl2_id_field2_desc1"
FROM Table1 tbl1
JOIN Table2 tbl21 ON tbl21.id = tbl1.tbl2_id_field1
JOIN Table2 tbl22 ON tbl22.id = tbl1.tbl2_id_field2;
什么错误信息你好吗? – BigDevJames 2015-02-24 21:01:41
我没有得到任何结果,因为我查询使用相同的table2.id两次为两个不同的字段(其中包含不同的值) – RizJa 2015-02-24 21:03:00