【问题标题】:selecting distinct same column values from non related tables从不相关的表中选择不同的相同列值
【发布时间】:2009-06-23 14:39:31
【问题描述】:

在我的数据库中,我有 3 个表,它们有 2 个相似的列,即年和月。这些表没有任何链接。

我想要做的是从这些表中选择不同的年份和月份。所以表1包含:

2009 年 5 月(多次) 2008年11月(多次) 2007年5月(多次)

表 2 和表 3 包含:

2009 年 11 月(多次) 2009年5月(多次) 2008年11月(多次) 2008年5月(多次)

我希望能够选择从 2009 年 11 月到 2007 年 5 月的完整年月列表。

我正在努力解决这个问题。

干杯

【问题讨论】:

    标签: sql database oracle tsql


    【解决方案1】:
    SELECT month, year
      FROM table1
    UNION
    SELECT month, year
      FROM table2
    

    UNION 将自动只返回不同的行。

    【讨论】:

      【解决方案2】:
      select distinct year, month from table 1
      union
      select distinct year, month from table 2
      order by year, month
      

      唯一的问题是因为你的月份是 alpha 表示,它不能正确排序,但我确定 oracle 有一个函数可以将月份的字符串表示转换为数字,你可以按那个排序.

      【讨论】:

      • 非常感谢。应该猜到它真的是一个工会。对于我正在做的事情,我可以按月使用订单。但是,如果有人一年中的所有月份都在使用,那么他们可以进行解码
      猜你喜欢
      • 2012-07-20
      • 1970-01-01
      • 2020-12-20
      • 1970-01-01
      • 1970-01-01
      • 2018-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多