结合查询机智

时间:2018-08-17 11:50:18

标签: mysql sql

我想“重新排列”这样的表,但是还没有弄清楚该如何做:p

Product    | Component | Quantity | Line
-----------------------------------------
EM08/100   | EM08      | 100      | 1
EMTE08/100 | EM08      | 100      | 1
EMTE08/100 | TE08S     | 100      |2

这意味着产品EMTE08 / 100由100单位的EM08和100单位的TE08S组成。

我追求的结果是这样的:

Product | Comp1 | Qty1 | Comp2 | Qty2
--------------------------------------
EM08    | EM08  | 100  | TE08S | 100

专家,好吗? :)

TIA!

1 个答案:

答案 0 :(得分:1)

如果只有两行,请使用条件聚合或join

select t1.product, t1.component as comp1, t1.quantity as quant1,
       t2.component as comp2, t2.quantity as quant2
from t t1 left join
     t t2
     on t1.product = t2.product and t2.line = 2
where t1.line = 1;

我不确定您为什么要在所需结果表中缩写产品名称。