我有一个SQL表,需要加入一些数据。在表2中,有多个产品ID,其中一些具有不同的日期。
例如
Table 1 (Master)
Product
左连接
表2
Product | Date 1
AA | 01/01/2018
AA | 01/02/2018
AB | 01/01/2018
AC | 01/01/2018
AC | 01/02/2018
我想要的是使数据看起来像:
Product | Date 1 | Date 2
AA | 01/01/2018 | 01/02/2018
AB | 01/01/2018
AC | 01/01/2018 | 01/02/2018
任何建议都会有很大的帮助。
谢谢你 克里斯
答案 0 :(得分:0)
您可以尝试以下查询:
SELECT t1.Product,
MIN(Date) AS Date1,
CASE WHEN COUNT(*) > 1 THEN MAX(Date) END AS Date2
FROM Table1 AS t1
LEFT JOIN Table2 AS t2 ON t1.Product = t2.Product
GROUP BY t1.Product
该查询使用LEFT JOIN
从Table2
获取相关记录因此,如果没有Date1
和Date2
,则NULL
将为Date2
相关记录。仅当 Product
至少有两个相关记录时才会设置
答案 1 :(得分:0)
SELECT t1.Product,
MIN(Date) AS Date1,
CASE WHEN COUNT(t1.Product) > 1 THEN MAX(Date) END AS Date2
FROM Table1 AS t1
LEFT JOIN Table2 AS t2 ON t1.Product = t2.Product
GROUP BY t1.Product
请勿在sql查询中使用*