Wie verwenden von GROUP BY verketten von Zeichenfolgen während das verbinden mehrerer Tabellen?

Ich bin bei mehreren Tabellen in die ich möchte eine Spalte mit Wert in Zeile entsprechend TechnicianName:

  • Ich habe 4 Tabellen easy_tbljobcard , easy_tbltechnician und easy_tblproblem und easy_tbltechnicianMaster

  • Ich bin immer TechnicianName in der 2. Spalte von easy_tbltechnicianMaster wo technicianId existieren in easy_tbltechnician

  • Möchte ich STUFF in der 3. Spalte in meiner Abfrage (p.ProblemReported)

Die aktuelle SQL-Anweisung:

 SELECT j.CardID, 
      , (SELECT TechnicianName FROM easy_tbltechnicianMaster WHERE TechnicianID = t.technicianID) AS TechnicianName
      , p.ProblemReported 
 FROM easy_tbljobcard AS j 
 JOIN easy_technician AS t ON t.CardID = j.CardID  
 LEFT JOIN easy_tblproblem AS p ON p.CardID = t.CardID

Abfrage Ergebnis:

╔══════════╦══════════════════╦═══════════════════╗
  CardID    TechnicianName    ProblemReported  
╠══════════╬══════════════════╬═══════════════════╣
    1           AKBAR            PROBLEM A     
    1           AKBAR            PROBLEM B     
    1           AKBAR            PROBLEM C     
    1           ASANKA           PROBLEM A     
    1           ASANKA           PROBLEM B     
    1           ASANKA           PROBLEM C     
╚══════════╩══════════════════╩═══════════════════╝

Das Ergebnis oben umgewandelt werden soll in diesem :

╔══════════╦══════════════════╦═════════════════════════════════╗
  CardID    TechnicianName           ProblemReported         
╠══════════╬══════════════════╬═════════════════════════════════╣
    1           AKBAR        PROBLEM A, PROBLEM B, PROBLEM C 
    1           ASANKA       PROBLEM A, PROBLEM B, PROBLEM C 
╚══════════╩══════════════════╩═════════════════════════════════╝

Wie Sie dies tun, während das verbinden mehrerer Tabellen ?

SQLFiddle

InformationsquelleAutor Siddiq Baig | 2014-06-13
Schreibe einen Kommentar