正如标题中所述,我正在使用此JOIN
查询获取重复列。
给出了几个表,我想编写select语句来获取
来自表格的信息。
到目前为止,这是我的SQL代码:
SELECT mitarbeiter.PNR, pfleger.PNR, Name
from pfleger
JOIN mitarbeiter on (mitarbeiter.PNR=pfleger.PNR)
where Ort='Frankfurt';
执行后,我得到以下结果:
你可以看到问题:我有两个我不想要的PNR列。
我该如何删除副本?我尝试了SELECT DISTINCT ...
,但它没有实现我的目标。
答案 0 :(得分:0)
在语句的select
部分中,引用任一表(mitarbeiter,pfleger)中的PNR
列,但不是两者:
SELECT
mitarbeiter.PNR,
Name
from pfleger JOIN mitarbeiter on (mitarbeiter.PNR=pfleger.PNR)
where Ort='Frankfurt';
答案 1 :(得分:0)
只需从选择中删除一个:
SELECT mitarbeiter.PNR, Name from pfleger JOIN mitarbeiter on (mitarbeiter.PNR=pfleger.PNR) where Ort='Frankfurt';
答案 2 :(得分:0)
select distinct适用于行,而不适用于列。在列列表中,只需选择一个PNR列:
SELECT mitarbeiter.PNR, Name from pfleger JOIN mitarbeiter on (mitarbeiter.PNR=pfleger.PNR) where Ort='Frankfurt';
答案 3 :(得分:0)
正如其他用户已经提到的,您只需要从SELECT
子句中删除字段名称。我只想补充一点,如果您加入的字段在两个表中具有相同的名称,则可以使用特殊语法,这允许将两个列作为单个列引用:
SELECT PNR, Name
from pfleger
JOIN mitarbeiter USING (PNR)
where Ort='Frankfurt';