我需要从3个表中获得不同的值。
当我执行此代码时:
select DISTINCT(city) from a,b,c
我收到一条错误消息,提示我的“城市”一栏不明确。
我也尝试过这个:
select DISTINCT(city) from a NATURAL JOIN b NATURAL JOIN c
有了这段代码,我的表什么都收不到。
让我向您展示我正在尝试做的事的示例:
TABLE A TABLE B TABLE C id | city id | city id | city 1 | Krakow 1 | Paris 1 | Paris 2 | Paris 2 | London 2 | Krakow 3 | Paris 3 | Oslo 4 | Rome
我需要得到这样的结果
RESULTS city ---- Krakow Paris Rome London Oslo
城市的顺序对我来说并不重要,我只需要拥有所有城市,每个城市应该只有一个代表。
任何的想法?我当时想在中使用id's,JOIN但没有连接,所以我不能使用它。
id's
JOIN
该UNION关键字将返回unique结果列表上的记录。当指定ALL( UNION ALL )时,将在结果集上保留重复项,OP不需要这些重复项。
UNION
unique
ALL
SELECT city FROM tableA UNION SELECT city FROM tableB UNION SELECT city FROM tableC
结果
鈺斺晲鈺愨晲鈺愨晲鈺愨晲鈺愨晽 鈺� CITY 鈺� 鈺犫晲鈺愨晲鈺愨晲鈺愨晲鈺愨暎 鈺� Krakow 鈺� 鈺� Paris 鈺� 鈺� Rome 鈺� 鈺� London 鈺� 鈺� Oslo 鈺� 鈺氣晲鈺愨晲鈺愨晲鈺愨晲鈺愨暆