更好的方法来选择第一个表中的所有列,并且只选择第二个表中的一列。

Posted

技术标签:

【中文标题】更好的方法来选择第一个表中的所有列,并且只选择第二个表中的一列。【英文标题】:Better way to select all columns from first table and only one column from second table on inner join 【发布时间】:2012-12-09 15:35:25 【问题描述】:

图解说明

表 1 的列:

|a|b|c|d|e|

表 2 的列:

|a|x|y|z|

我只想要 a、b、c、d、e、x。我只想要表 1 中的“a”列,而不是表 2 中的“a”列。

冗长的解释

我有两个表,其中一列共享一个通用名称。如果我使用 Select * 并使用内部联接,我会返回所有列,包括两个具有相同名称的列。

我想从第一个表中选择所有内容,从第二个表中只选择一列。现在我正在指定我需要的每一列,这是一个拖累。有没有更简单的方法可以从第一个表中获取所有内容,而只从第二个表中获取我想要的一列?

提前致谢。

【问题讨论】:

【参考方案1】:

你需要指定第二个表的列名,如果它与另一个表具有相同的columnName,你需要在它上面提供一个ALIAS

SELECT  tb1.*, tb2.x
FROM    tableA tb1
        INNER JOIN tableB tb2
            ON tb1.a = tb2.a

【讨论】:

以上是关于更好的方法来选择第一个表中的所有列,并且只选择第二个表中的一列。的主要内容,如果未能解决你的问题,请参考以下文章