使用查询消除重复列

时间:2017-07-27 05:16:53

标签: sql

我有两个表,每个表都需要连接100个列,结果应该包含两个表中的所有列,除了主键列,它应该在开头只出现一次,如下所示:

table_1:

pid     sname     sschool     snumber.............col 100


table_2 :

pid     sregion  sdistrict    slanguage............col 100

我编写了一个简单的内连接查询:

  select a.* , b.*
  from table_1 inner join table_2
  on a.pid = b.pid ;

它导致加入两个表,如下所示

pid  sname sschool snumber...........pid sregion sdistrict slanguage

但我想删除重复的b.pid列...而我只是想在开始时保留一个a.pid列。

我们如何消除这种情况?

P.S:我知道它的数据库设计不好,并且更好地规范化数据,但是没有时间不允许它。

1 个答案:

答案 0 :(得分:1)

唯一的方法是不在SELECT列表中使用*,或者至少只在其中一个表上使用它们:

SELECT a.Col1, a.Col2, ... a.Coln, b.Col2, b.Col3, ... b.ColN
FROM ...

SELECT a.*, b.Col2, b.Col3, ... b.ColN
FROM ...