So vereinheitlichen Sie Datensätze in einer Zeile – MYSQL
P粉475315142
P粉475315142 2023-09-09 09:11:47
0
1
377

Ich habe eineteacher表,还有一个phoneTabelle, in der die Verknüpfung über die ID der Person erfolgt. Wenn ich die Telefonnummern jedes Professors nachschlage, sieht das so aus:

(SELECT T.ID_TEACHER, P.PHONE, P.NUMBER FROM TEACHER T LEFT JOIN PHONES P ON P.IDPERSON = T.ID_TEACHER)
ID_TEACHER Telefon ANZAHL
1 1 xxxxxxx
1 2 xxxxxxxxx
1 3 xxxxxxx
2 1 xxxxxxx

Ich möchte jedoch, dass es so angezeigt wird:

ID_TEACHER Telefon ANZAHL Telefon ANZAHL Telefon ANZAHL
1 1 xxxxx 2 xxxxx 3 xxxxx
2 1 xxxxxxxxx

Was soll ich tun? Ich verwende MYSQL. Ich habe keine Lösung gefunden.

P粉475315142
P粉475315142

Antworte allen (1)
P粉476046165

您需要使用条件聚合:

尝试以下操作:

SELECT T.ID_TEACHER, MAX(CASE WHEN P.PHONE = 1 THEN P.PHONE ELSE NULL END) AS PHONE1, MAX(CASE WHEN P.PHONE = 1 THEN P.NUMBER ELSE NULL END) AS NUMBER1, MAX(CASE WHEN P.PHONE = 2 THEN P.PHONE ELSE NULL END) AS PHONE2, MAX(CASE WHEN P.PHONE = 2 THEN P.NUMBER ELSE NULL END) AS NUMBER2, MAX(CASE WHEN P.PHONE = 3 THEN P.PHONE ELSE NULL END) AS PHONE3, MAX(CASE WHEN P.PHONE = 3 THEN P.NUMBER ELSE NULL END) AS NUMBER3 FROM TEACHER T LEFT JOIN PHONES P ON P.IDPERSON = T.ID_TEACHER GROUP BY T.ID_TEACHER
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!