2017-10-10 72 views
1

我有一個表中包含的數據(有更多ITEMID每個與MODULESTYPE 0,1和2多凡在同一個查詢和行的條件

ITEMID MODULETYPE UNITID 
E-MA0860S 0 base 
E-MA0860S 1 purch 
E-MA0860S 2 sales 

我想要做什麼是價值觀進入一排這個

ITEMID Base UOM PUOM SUOM 
E-MA0860S base purch sales 
+0

如果ITEMID只有一個或兩個條目,預期的結果是什麼? – jarlh

+0

標記您正在使用的dbms。 (答案可能取決於dbms。) – jarlh

回答

0

嘗試有些人認爲這樣的

SELECT ItemID, 
     MIN(CASE WHEN MODULETYPE=0 THEN UNITID END) AS [Base UOM] 
     MIN(CASE WHEN MODULETYPE=1 THEN UNITID END) AS [PUOM] 
     MIN(CASE WHEN MODULETYPE=2 THEN UNITID END) AS [SUOM] 
FROM TableName 
GROUP BY ItemID 
+0

這是非常棒的,只是我之後 - 謝謝 – George

0

您可以使用自聯接

select a.ITEMID, a.UNITID as UOM, b.UNITID AS PUOM , c.UNITID as SUOM 
    from my_table a 
    inner join my_table b on a.ITEMID = b.ITEMID and b.MODULETYPE=1 
    inner join my_table c on a.ITEMID = c.ITEMID and c.MODULETYPE=2 
    where a.MODULETYPE = 0