SQL 根据另一列将一列转换为两列

SQL Convert one column into two based on another column

具有以下数据集:

Extender_Record_ID: 1, 1, 2, 2, 3, 3, 4, 4, 5, 5
Field_ID: 100, 101, 100, 101, 100, 101, 100, 101, 100, 101
Date: 1/1/2018, 1/2/2018, 1/14/2018, 1/15/2018, 2/1/2018, 2/3/2018, 
      2/15/2018, 2/17/2018, 3/2/2018, 3/5/2018

我正在尝试获取以下输出:

Start Date: 1/1/2018, 1/14/2018, 2/1/2018, 2/15/2018, 3/2/2018  
End Date: 1/2/2018, 1/15/2018, 2/3/2018, 2/17/2018, 3/5/2018

我正在尝试根据 ID 列中的值将日期列拆分为两个单独的日期列。我想将其插入到更大的查询中。

抱歉,我是新手。非常感谢任何帮助!

很简单,一个永远是 min,另一个永远是 max,你可以这样做:

SELECT MIN(DATE) AS Date1
     , MAX(DATE) AS Date2
  FROM ...
GROUP BY ID

或者更复杂的枢轴,但我们可能需要知道 SQL 的风格

select extendedrecordid, field_id, max(case when field_id = 1 then date else null end )date1,
max(case when field_id = 2 then date else null end )date2
from yourtable group by extendedrecordid, field_id

根据您的评论 I got the min and max query to produce what i needed for the minor example.,您可能实际需要的是这样的:

SELECT 
CASE WHEN Id = 1 THEN [DateField] END AS Date1, 
CASE WHEN Id = 2 THEN [DateField] END AS Date2
FROM [MyTable]