【问题标题】:How to join values from one column to another如何将值从一列连接到另一列
【发布时间】:2020-01-04 00:30:02
【问题描述】:

我有两张表 Notification 和 Worker Notifications。在这些表上有两个类似的列,称为时间。我的工人类继承了通知,我想加入工人所有预先存在的时间与通知时间。

id | Worker| Time
-------------
10 | John| 8/17/2019
20 | Rui| 8/17/2019
30 | Pen| 8/17/2019
id | Notification| Time |WorkerID
-----------------------------------
10 | John| 8/17/2019 | 10
20 | Rui| 8/17/2019  |20
30 | Pen| 8/17/2019  |30

选择 category_id、col1、col2、col3 FROM items_a 联盟 选择 category_id、col1、col2、col3 FROM items_b

【问题讨论】:

  • 您的预期结果是什么?

标签: sql


【解决方案1】:

我敢说它实际上应该是

SELECT *
FROM 
  worker w 
  INNER JOIN
  notifications n
  ON 
    w.id = n.workerid

我这样说是因为通知有一个 workerid,所以它显然“属于一个 worker”——它不一定与一个基于时间的 worker 相关,好像两次是相同的,那么你最终可能会加入一个通知分配给约翰,而是给戴夫

但如果你坚持加入的时间模式是一样的:

SELECT *
FROM 
  worker w 
  INNER JOIN
  notifications n
  ON 
    w.time = n.time 

JOIN 会导致您的结果集横向增长(更多列)。 UNION 使您的结果集垂直增长(更多行)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 2020-01-11
    • 1970-01-01
    • 2021-12-07
    • 2021-12-12
    • 1970-01-01
    • 2021-09-11
    相关资源
    最近更新 更多