MySQL: Konvertieren Sie die Zeilendaten in eine dynamische Spalte
<code> id | name 1 | 产品A 2 | 产品B</code>
Umsatz (Verkauf):
<code> id | name 1 | 合作伙伴A 2 | 合作伙伴B</code>
Ziel ist es, die Liniendaten in der Verkaufstabelle in dynamische Spalten umzuwandeln, und der Name repräsentiert verschiedene Produkte. Die erwarteten Ausgangsergebnisse sind wie folgt:
<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>
Das obige ist der detaillierte Inhalt vonWie kann ich in MySQL Zeilen in dynamische Spalten umwandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!