Hallo zusammen,
ich zerbreche mir nun schon eine ganze Weile den Kopf und komme dennoch nicht auf eine vernünftige Lösung.
Folgende SQL Abfrage bringt mir 5 Zeilen zurück von installierten Druckern.
SELECT
A.PrinterType, A.PrintSystemsID, B.PrinterTypeID, CONCAT(C.VendorName,', ',B.PrinterName) AS completename
FROM
printsystems A
JOIN printertypes B ON B.PrinterType = A.PrinterType
JOIN printervendors C ON C.PrinterVendor_ID = B.PrinterVendor_ID
WHERE
A.PWD = '1' AND A.PrintSystemsID != '1'
In einer anderen Tabelle "printertypes_ppdvalues" stehen die Ausstattungen der Drucker. Mit der Abfrage:
SELECT `PrinterTypeID` FROM `printertypes_ppdvalues` WHERE `InstallElementsID` = 14 GROUP BY `PrinterTypeID`
bekomme ich 3 Zeilen zurück. (InstallElementsID` = 14 bedeutet das der Drucker farbig drucken kann)
Ich versuche nun ob ich beide Abfragen in eine zusammenfassen kann.
Praktisch eine zusätzliche Spalte in der ersten Abfrage wo dann steht
ColorMode
yes
no
yes
..
Wenn ich es so versuche:
SELECT
A.PrinterType, A.PrintSystemsID, B.PrinterTypeID, CONCAT(C.VendorName,', ',B.PrinterName) AS completename, D.InstallElementsID AS ColorMode
FROM
printsystems A
JOIN printertypes B ON B.PrinterType = A.PrinterType
JOIN printervendors C ON C.PrinterVendor_ID = B.PrinterVendor_ID
LEFT JOIN printertypes_ppdvalues D ON D.PrinterTypeID = B.PrinterTypeID
WHERE
A.PWD = '1' AND A.PrintSystemsID != '1' AND D.InstallElementsID = 14 GROUP BY A.PrintSystemsID
Dann bekomme ich ja nur eine Zeile zurück weil ich ja mit "WHERE D.InstallElementsID = 14" die Suche einschränke.
Hat jemand eine Idee wie man das lösen könnte?
vielen Dank und viele Grüße
hawk