之间的最小日期表我有2个表: @Temdate1
更新2台
+------+------------+---------------+--------+
| Year | Entry_Date | DeliveryMonth | Symbol |
+------+------------+---------------+--------+
| 2016 | 2016-01-07 | June | ABC |
| 2015 | 2015-01-06 | June | ABC |
| 2014 | 2014-01-05 | June | ABC |
| 2016 | 2016-03-05 | Sep | CDE |
| 2015 | 2015-03-04 | Sep | CDE |
| 2014 | 2014-03-03 | Sep | CDE |
+------+------------+---------------+--------+
和AllProducts
+-----------------+---------------+--------+
| Date | DeliveryMonth | Symbol |
+-----------------+---------------+--------+
| 2016-01-07 | June | ABC |
| 2016-01-08 | June | ABC |
| 2016-01-09 | June | ABC |
| 2016-01-10 | June | ABC |
| 2015-01-01 | June | ABC |
| 2015-01-02 | June | ABC |
| 2015-01-03 | June | ABC |
| 2014-01-05 | June | ABC |
+-----------------+---------------+--------+
结果我要寻找更新的表@ Temdate1:
+------+------------+---------------+--------+
| Year | Entry_Date | DeliveryMonth | Symbol |
+------+------------+---------------+--------+
| 2016 | 2016-01-07 | June | ABC |
| 2015 | 2015-01-01 | June | ABC |
| 2014 | 2014-01-05 | June | ABC |
| 2016 | 2016-03-05 | Sep | CDE |
| 2015 | 2015-03-04 | Sep | CDE |
| 2014 | 2014-03-03 | Sep | CDE |
+------+------------+---------------+--------+
我有这个查询来找到最小的(ear最简单的)给定年份和给定产品的日期。有了这个查询如何更新Temdate1与最早的日期,当它没有最早的日期?
SELECT
Year
,CASE
WHEN MIN([Date])<entry_date THEN MIN([Date])
ELSE entry_date
END AS MDate
FROM @TempDate1 a
INNER JOIN AllProducts b on a.DeliveryMonth =b.DeliveryMonth AND a.Symbol = b.Symbol
GROUP BY Year,entry_date
提供的数据结构和数据样本 – Horaciux
所以你问如何将用户的输出你查询更新Temdate1?你能告诉我们表Temdate1的结构吗? – Lamar
您应该能够在更新声明中使用此case子句。 – Eli