SQL JOIN两个表有两个同名的列

时间:2011-08-29 12:51:55

标签: sql join

我有两张桌子,我想加入

现在我只是这样做:

SELECT * FROM (default_insurance) 
JOIN default_profiles ON uid = default_profiles.id 
WHERE `uid` = '1

问题是,default_insurancedefault_profiles都包含一个名为company的列,而我只想要default_insurance中的一列,但有没有办法进行连接这将自动更喜欢其中一个表的列而不必SELECT(我想要的所有列)

2 个答案:

答案 0 :(得分:7)

您可以随时指定您需要的内容(+使用表别名):

SELECT t1.*, t2.company AS default_insurance_company
FROM default_profiles t1 LEFT JOIN default_insurance t2
ON t1.uid = t2.id
WHERE t1.uid = 1

(MySQL示例)

上方将返回t1中的所有列以及t2中的company列,但在您的结果中,它将被命名为default_insurance_company

答案 1 :(得分:1)

自动否。你需要像这样使用:

SELECT [all columns that you want], di.company
FROM default_insurance di
JOIN default_profiles dp ON di.uid = dp.id 
WHERE di.uid = '1