2016-05-04 15 views
0

Ich habe zwei Tabellen. Die erste enthält Früchte:MySQL bekommen Ergebnisspalten basierend auf Zeilendaten

+----+--------+ 
| id | fruit | 
+----+--------+ 
| 1 | banana | 
+----+--------+ 
| 2 | orange | 
+----+--------+ 

Die zweite man die Menge der Früchte enthält jeder Korb hat:

+----+--------+----------+--------+ 
| id | basket | fruit_id | amount | 
+----+--------+----------+--------+ 
| 1 | a  | 1  | 5  | 
+----+--------+----------+--------+ 
| 2 | a  | 2  | 10  | 
+----+--------+----------+--------+ 
| 3 | b  | 1  | 8  | 
+----+--------+----------+--------+ 
| 4 | b  | 2  | 12  | 
+----+--------+----------+--------+ 

Jetzt möchte ich etwas bekommen.

+----------+----------+----------+ 
| fruit_id | basket_a | basket_b | 
+----------+----------+----------+ 
| 1  | 5  | 8  | 
+----------+----------+----------+ 
| 2  | 10  | 12  | 
+----------+----------+----------+ 

Offensichtlich hat es auf n Anzahl der Körbe zu arbeiten. Ich wäre mehr als glücklich, jeden Fortschritt/Stück Code zu teilen, aber leider weiß ich nicht, wie man anfängt. Danke für dein Verständnis.

+0

Suche nach: Zeilen zu Spalten/PIVOT. Kennst du alle Basktets im Voraus oder brauchst du es dynamisch? – lad2025

+0

@ lad2025 Ich brauche es dynamisch. – fishmong3r

Antwort

0

Mit n Spaltenanzahl ist keine gute Idee. Wollen Sie Ihr Ergebnis wirklich im Tabellenformat?

+0

Nun, ich muss in der Lage sein, mit 'php' eine' html' Tabelle zu erstellen. – fishmong3r

+0

Okay! Dann können Sie zuerst als Frucht-ID haben, dann machen Sie Schleife für Basket-Namen als Rest von der Tabelle, die Sie erstellen möchten. – DD77

+0

"SELECT DISTINCT (Warenkorb) FROM obst_details BESTELLEN NACH Warenkorb" Sie können diese Abfrage verwenden, um Korbnamen zu erhalten. – DD77

0
select b.fruit_id,case when b.basket = 'a' then b.amount end as 'basket_a', 
case when b.basket = 'b' then b.amount end as 'basket_b' from table 1 join table2 on table1.id = table2.id group by fruit_id; 

bitte obige Abfrage überprüfen, ist es das, was Sie wollen?

+0

Was ist, wenn ich Dutzende Körbe habe? – fishmong3r

+0

dann müssen Sie Spalten für alle Körbe richtig sein ?? – Priyanshu

+0

Ja, aber ich möchte, dass sie dynamisch generiert werden, ohne alle in der Abfrage zu deklarieren. – fishmong3r

Verwandte Themen