Ich habe die folgende Tabelle mit Datum:MySQL generieren Pivot-Tabelle
tbl_client
No Client Name
1 John Saw
2 Michael Ken
3 Sam Meyer
4 Eaves Power
UND
tbl_appointment
No Name Date Type
1 1 8/4/2017 A
2 2 5/5/2017 B
3 3 9/6/2017 C
4 4 10/6/2017 C
5 1 12/6/2017 A
6 2 15/7/2017 B
7 1 11/10/2017 B
8 2 21/10/2017 A
9 3 5/11/2017 B
10 1 6/11/2017 C
11 2 5/11/2017 C
12 4 15/11/2017 A
Die erste Tabelle führt die Liste der Kunden und die zweite die Liste Termin Datum. Ich möchte eine Tabelle erstellen, die My-SQL verwenden wie folgt aussieht:
No Name Date A B C
1 John Saw 6/11/2017 12/6/2017 11/10/2017 -
2 Michael Ken 5/11/2017 1/11/2017 15/7/2017 -
3 Sam Meyer 5/11/2017 - - -
4 Eaves Power 15/11/2017 - - 10/6/2017
ich die folgende Abfrage versucht, aber hat nicht funktioniert:
SELECT
a.no,
a.name,
b.date,
d.date AS A
FROM
`tbl_client` `a`
INNER JOIN `tbl_appointment` `b`
ON `a`.`client_id` = `b`.`client_id`
LEFT JOIN `tbl_appointment` `d`
ON `d`.`client_id` = `a`.`id`
WHERE `d`.`client_id` = `a`.`id` ;
Wie kann ich die Abfrage zu optimieren, um zu mir der obige Bericht?
Betrachten Sie die Behandlung von Problemen der Datenanzeige (d. H. Der Pivot) im Anwendungscode. – Strawberry
In der Ausgabe, für 'Name = 'John Saw'', warum' C' ist null ?? – Wanderer