MySQL: Tukar data garis ke lajur dinamik
<code> id | name 1 | 产品A 2 | 产品B</code>
jualan (jualan):
<code> id | name 1 | 合作伙伴A 2 | 合作伙伴B</code>
Matlamatnya adalah untuk menukar data garis dalam jadual jualan ke dalam lajur dinamik, dan namanya mewakili produk yang berbeza. Hasil output yang dijangkakan adalah seperti berikut:
<code> partners_id | products_id 1 2 2 5 1 5 1 3 1 4 1 5 2 2 2 4 2 3 1 1</code>
<code>partner_name | 产品A | 产品B | 产品C | 产品D | 产品E 合作伙伴A 1 1 1 1 2 合作伙伴B 0 1 1 1 1</code>
<code class="language-sql">SELECT pt.partner_name, COUNT(CASE WHEN pd.product_name = '产品A' THEN 1 END) AS 产品A, COUNT(CASE WHEN pd.product_name = '产品B' THEN 1 END) AS 产品B, COUNT(CASE WHEN pd.product_name = '产品C' THEN 1 END) AS 产品C, COUNT(CASE WHEN pd.product_name = '产品D' THEN 1 END) AS 产品D, COUNT(CASE WHEN pd.product_name = '产品E' THEN 1 END) AS 产品E FROM partners pt LEFT JOIN sales s ON pt.part_id = s.partner_id LEFT JOIN products pd ON s.product_id = pd.prod_id GROUP BY pt.partner_name</code>
Atas ialah kandungan terperinci Bagaimana untuk Pivot Baris ke Lajur Dinamik dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!