我有两个表,每个表都需要连接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:我知道它的数据库设计不好,并且更好地规范化数据,但是没有时间不允许它。答案 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 ...