顏色分類
| ID | 顏色 | 數量 |
|---|---|---|
| 0 | 紅色的 | 25 |
| 0 | 藍色的 | 13 |
| 1個 | 紅色的 | 16 |
| 1個 | 藍色的 | 17 |
顏色
| 姓名 |
|---|
| 紅色的 |
| 藍色的 |
鑒于上面的表格,我如何在不改變所述表格的情況下將它分成下表?(僅通過選擇、加入、過濾等)
| ID | 紅色的 | 藍色的 |
|---|---|---|
| 0 | 25 | 13 |
| 0 | 16 | 17 |
我什至不知道如何去做這件事。
我試過做
SELECT id, c.amount
FROM Color
INNER JOIN ColorBreakdown AS c ON (Color.name = ColorBreakdown.color);
只是為了亂七八糟,但它只給出了red每個 id 的顏色。
| ID | c.金額 |
|---|---|
| 0 | 25 |
| 0 | 16 |
然后我試了
SELECT id,
SUM(color = 'red') AS red,
SUM(color = 'blue') AS blue
FROM ColorBreakdown
GROUP BY id;
但它給了
| ID | 紅色的 | 藍色的 |
|---|---|---|
| 0 | 1個 | 1個 |
| 0 | 1個 | 1個 |
我很迷路:(
uj5u.com熱心網友回復:
你需要使用group by并case實作這個
示例查詢類似于:
SELECT id,
sum(case when color = 'red' then amount else 0 end) AS red,
sum(case when color = 'blue' then amount else 0 end) AS blue
FROM ColorBreakdown
group by id;
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/537423.html
