SQL连接,获取具有相同名称的多个列

时间:2012-10-16 06:44:48

标签: sql join

我有一个包含列IDSERVICE_TYPE_TEXT的表,另一个表包含列

ID, SERVICE_TYPE ... 

以及许多其他专栏。

第二个表格中的SERVICE_TYPE包含第一个表格中的ID。我想查询,以便我可以从第一个表中获得与第二个表中给出的SERVICE_TYPE_TEXT匹配的ID

我尝试加入,并在ID上使用AS设置不同的名称,但始终在查询结果的末尾,我从第一个表中获取原始ID,列名为{{ 1}},以及我在AS中定义的名称。

有关如何从第一张表中获取ID以避开的任何建议吗? :)

3 个答案:

答案 0 :(得分:14)

尝试这样的事情,

SELECT a.ID AS ServiceID,
       a.Service_Type_Text,
       b.ID AS table2ID,
       b.Service_Type
FROM   table1 a
       INNER JOIN table2 b
           ON a.ID = b.Service_Type

答案 1 :(得分:9)

设置查询,使其返回第二个表中的所有数据,但只返回第一个表中的必填字段(列) 像这样:

SELECT TAB1.SERVICE_TYPE_TEXT, TAB2.*
FROM TAB1
INNER JOIN
TAB2
ON TAB1.ID = TAB2.SERVICE_TYPE

答案 2 :(得分:3)

TRY

 SELECT a.ID AS ServiceID,
       a.Service_Type_Text,
       b.ID AS table2ID,
       b.Service_Type
FROM   table1 a
       INNER JOIN table2 b
           ON a.ID = b.Service_Type AND b.ID='YOUR_ID';