当前位置: 首页 > 面试题库 >

如何从多个表中选择不同的值

通骁
2023-03-14
问题内容

我需要从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'sJOIN但没有连接,所以我不能使用它。


问题答案:

UNION关键字将返回unique结果列表上的记录。当指定ALL
UNION ALL

)时,将在结果集上保留重复项,OP不需要这些重复项。

SELECT city FROM tableA
UNION
SELECT city FROM tableB
UNION
SELECT city FROM tableC
  • SQLFiddle演示

结果

鈺斺晲鈺愨晲鈺愨晲鈺愨晲鈺愨晽
鈺�  CITY  鈺�
鈺犫晲鈺愨晲鈺愨晲鈺愨晲鈺愨暎
鈺� Krakow 鈺�
鈺� Paris  鈺�
鈺� Rome   鈺�
鈺� London 鈺�
鈺� Oslo   鈺�
鈺氣晲鈺愨晲鈺愨晲鈺愨晲鈺愨暆


 类似资料:
  • 问题内容: 所以这是我的设置,我有2个具有以下(简化)模式的旧表和新表 我正在寻找一种SQL查询,该查询返回以下内容,但在1个查询中包含4列,而不是每个2列包含2个查询 因此,我理想的结果集将包含4列: 谢谢! 问题答案: 您是否尝试过JOIN语句:

  • 问题内容: 我的SQL Server数据库中有两个表。第一个是,第二个是。两个表中都有一列。 现在,我想从两个表中选择一个特定的值。 这就是我在做的 但是我的查询给出了错误。 问题答案:

  • 问题内容: 有这张桌子 和这个 我如何从表“项目”中选择所有行并显示字段“已删除”,即使在给定用户ID的情况下,即使“ MyList”中不存在itemID? 查询结果示例: 什么是查询,以便我可以得到该结果? 谢谢 问题答案: 我不确定这是否是最好的方法,但它会返回我一直在寻找的内容:

  • 问题内容: 如何选择多个表并从同一列联接多个行? 它不会返回,并且。我确定此SQL代码段的语法错误。 更新: 显示。移除后 它返回: 但我需要退货: 问题答案: 您可以多次连接到同一张表,而只需提供不同的别名

  • 问题内容: 我想根据URL字符串选择一些ID,但对于我的代码,它仅显示第一个。如果我写手册的ID是伟大的。 我有这样的网址http://www.mydomain.com/myfile.php?theurl=1,2,3,4,5(ids) 现在在myfile.php中,我有sql连接,并且: 如果我使用这个: 我得到正确的结果。现在,如果我使用下面的代码,它将无法正常工作: 有什么建议? 问题答案:

  • null 我什么也想象不到,有人来帮我吗? ----编辑---- @拉胡尔, 141  测试粉笔 ;   141        123 141  测试粉彩 ;   141        可见