如何将来自不同表的数据放在一起而不重复

时间:2018-04-23 09:12:05

标签: sql select join

我现在感觉有点愚蠢,但我似乎无法实现它。我有数据的som表和我有一个SELECT的问题是数据有时是重复的。 (对不起,英语不是我的第一语言,请问是否不清楚。

SELECT (IM_FAKTUROR.FAKT_NUMMER || ' ' || IM_FAKTURA_GRUPPER.FAKT_TYP) AS 'ProjektNrNamn',

但有时这两个表/列的数据完全相同,在这些情况下我只想要其中一个数据,而不是两者。 如何?

如果两者中有不同的数据我想要所有信息。

3 个答案:

答案 0 :(得分:1)

使用case表达式。如果两列具有相同的值,则只返回其中一列。否则返回两者:

SELECT case when IM_FAKTUROR.FAKT_NUMMER = IM_FAKTURA_GRUPPER.FAKT_TYP
            then IM_FAKTUROR.FAKT_NUMMER
       else (IM_FAKTUROR.FAKT_NUMMER || ' ' || IM_FAKTURA_GRUPPER.FAKT_TYP)
       end AS 'ProjektNrNamn',

答案 1 :(得分:0)

试试这个:

SELECT DISTINCT ProjektNrNamn FROM
(
SELECT (IM_FAKTUROR.FAKT_NUMMER || ' ' || IM_FAKTURA_GRUPPER.FAKT_TYP) AS 'ProjektNrNamn'
) as t

答案 2 :(得分:0)

尝试SELECT DISTINCT

SELECT DISTINCT
    IM_FAKTUROR.FAKT_NUMMER || ' ' || IM_FAKTURA_GRUPPER.FAKT_TYP AS 'ProjektNrNamn'
FROM ...

但是这个答案假设项目名称是选择列表中唯一的东西。如果您有其他列,则会变得更复杂。