Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Pivot Baris ke Lajur Dinamik dalam MySQL?
MySQL: Tukar data garis ke lajur dinamik
<code> id | name 1 | 产品A 2 | 产品B</code>Jadual rakan kongsi (rakan kongsi):
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>penukaran lajur dinamik
<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>Kaedah ini membolehkan untuk mengendalikan mana -mana lajur produk dan memastikan bahawa pertanyaan dapat menyesuaikan diri dengan perubahan dalam jadual produk tanpa mengubah suai pernyataan SQL itu sendiri.
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!