2017-09-16 3 views
0

Ich habe die folgende TabelleMysql Hinzufügen neuer Spalten für die Auswahl

+-----+------------------+-------------+ 
| id | name    |month_1  | 
+-----+------------------+-------------+ 
| 1 | anna    |  15  | 
| 2 | bin    |  20  | 
+-----+------------------+-------------+ 

Wenn ich eine Auswahl ich eine weitere Spalte hinzufügen möchten machen.

Zum Beispiel

SELECT id,name, money as month_1 FROM test where month(day)='1'; 

Und ich möchte eine Spalte, so etwas fügen:

SELECT id,name, money as month_1,money as month_2 
FROM test 
where where month(day)='1',where month(day)='2' 

+-----+------------------+-------------+------------+ 
| id | name    | month_1  |month_2 | 
+-----+------------------+-------------+------------+ 
| 1 |anna    |  15  |  10 | 
| 2 | bin    |  20  |  0  | 
+-----+------------------+-------------+------------+ 
+0

Bitte nehmen Sie sich etwas Zeit, um Ihre Frage zu formatieren. Es ist schwer zu lesen. – user2182349

+0

Sie müssen wirklich ein SQL-Tutorial nehmen. Das ist so sehr einfach. –

Antwort

0

können Sie bedingte Aggregation verwenden:

SELECT id,name, 
     SUM(CASE WHEN month(day) = 1 THEN money ELSE 0 END) as month_1, 
     SUM(CASE WHEN month(day) = 2 THEN money ELSE 0 END) as month_2 
FROM test 
GROUP BY id, name; 

Sie können oder nicht möchte den Monat und das Jahr in die Aggregation aufnehmen.

+0

Shake das als !! – Strawberry

Verwandte Themen