【问题标题】:Join result from two tables having same colomn avoiding duplicate连接具有相同列的两个表的结果,避免重复
【发布时间】:2018-01-04 20:24:42
【问题描述】:

我有两个包含不同数据的表,我想加入结果以便从两个表中获取数据以避免重复。

表1:

Seasons  | Colors
win 17   | grey
win 17   | blue
win 18   | red
win 18   | black

表2:

Seasons  | Sizes | Weights
win 17   | 48    |   8
win 17   | 47    |   7
win 17   | 48    |   5
win 17   | 47    |   9
win 18   | 42    |   2
win 18   | 43    |   3
win 18   | 42    |   4
win 18   | 43    |   1

加入类似的东西:

Seasons  | Sizes | Weights | Colors
win 17   | 48    |   8    |  grey
win 17   | 47    |   7    |  grey
win 17   | 48    |   5    |  grey
win 17   | 47    |   9    |  grey
win 17   | 48    |   8    |  blue
win 17   | 47    |   7    |  blue
win 17   | 48    |   5    |  blue
win 17   | 47    |   9    |  blue
win 18   | 42    |   2    |  red
win 18   | 43    |   3    |  red
win 18   | 42    |   4    |  red
win 18   | 43    |   1    |  red
win 18   | 42    |   2    |  black
win 18   | 43    |   3    |  black
win 18   | 42    |   4    |  black
win 18   | 43    |   1    |  black

我试过了

SELECT
  Seasons,
  Sizes,
  Weights,
  Colors
FROM (SELECT
  Seasons,
  Colors
FROM Table1) c
CROSS JOIN (SELECT
  Sizes,
  Weights
FROM table2) s
WHERE c.Seasons = s.Seasons
GROUP BY Seasons,
         Colors,
         Sizes,
         Weights;

但我在同一季节得到不同尺寸和代码的重复颜色

【问题讨论】:

    标签: mysql sql


    【解决方案1】:

    试试这个:你可以试试JOINDISTINCT,但我不明白你为什么要以这样一种方式存储数据,以便更好地对其进行规范化。

    SELECT DISTINCT t1.Seasons, 
        t2.Sizes,
        t2.Weights,
        t1.Colors
    FROM table1 t1
    INNER JOIN table2 t2 ON t1.Seasons = t2.Seasons
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-16
      • 2018-10-24
      • 2015-12-06
      • 2019-08-08
      • 2018-02-28
      • 2021-11-25
      • 2019-10-28
      • 2012-11-18
      相关资源
      最近更新 更多