如何根据我的示例

时间:2018-02-26 23:47:19

标签: sql-server tsql

所以,让我说我有下表和所需的输出:

enter image description here

所以基本上我想要一个带有相应CAD和Amend列的订单号行。这是我到目前为止所做的:

SELECT DISTINCT
SUBSTRING(od.OrderNo,1,5) AS [OrderNo],
CASE
  WHEN od.PartNo LIKE 'cad appr%' THEN od.PartNo END AS [CAD Appr.?],
CASE
  WHEN od.PartNo LIKE 'cad appr%' THEN od.DueDate END AS [Appr. Date],
CASE 
  WHEN od.PartNo LIKE 'amend%' THEN od.PartNo END AS [Amend. Sent?],
CASE
  WHEN od.PartNo LIKE 'amend%' THEN od.DueDate END AS [Amend. Sent Date]
FROM OrderDet od
WHERE od.PartNo LIKE 'cad appr%'
  OR od.PartNo LIKE 'amend%'
ORDER BY 3 DESC

这是我得到的输出:

enter image description here

很明显,它没有像我想的那样工作,它已经分成两行,因为订单编号很高,同时有CAD批准和修订已发送PartNo,我想明白它为什么会这样做在考虑之后这样做。我想CASE声明不是可行的方法,但我对于应该使用的内容有点遗失。也许是UNION或Subquery?感谢任何帮助,谢谢

0 个答案:

没有答案