QUERY 1Spalten auswählen, basierend auf der aktuellen Spalte ausgewählt (SQL)
WITH CUST1 AS
(SELECT CUSTOMER_ID, TYPE FROM CUSTOMERS WHERE CONDITION),
CARS1 AS
(SELECT * FROM CARS INNER JOIN CUST1 ON
CUST1.CUSTOMER_ID = CARS.CUSTOMER_ID AND
CUST1.TYPE = CARS.TYPE) select * from CARS1;
CUSTOMERE TABLE
CUSTOMER_ID || TYPE
------------|| -------
1 || 5
2 || 5
3 || 2
4 || 2
CARS TABLE
CAR_ID || CUSTOMER_ID || TYPE || SN || DATE
------- || ------------ || ------ || ----- || -------
1 || 1 || 5 |||| 02/06/1999
2 || 1 || 2 || 2365 || 03/08/1999
3 || 1 || 3 || 5156 || 03/02/1999
4 || 3 || 1 || 8651 || 03/03/1999
5 || 2 || 5 || 2555 || 03/09/1999
6 || 2 || 2 || 8562 || 03/18/1999
QUERY 1 Ergebnis
CAR_ID || CUSTOMER_ID || TYPE || SN || DATE
------- || ------------ || ------ || ----- || --------
1 || 1 || 5 |||| 02/06/1999
5 || 2 || 5 || 2555 || 03/09/1999
Die obige Abfrage tritt in die temporäre Tabelle "CUST1" mit einem tatsächlichen Tabelle "CARS" auf den Säulen CUSTOMER_ID
und TYPE
. Nun, was ich zu erreichen hoffe, ist die DATE AS DATE2 und SN AS SN2 von CARS, die zu dem Kunden gehören, wo die CARS.TYPE = 2 für CUSTOMER_IDs aus der JOIN-Bedingung ergab.
Das Dilemma ist jedoch, dass ich nicht wieder eine Unterabfrage mitmachen/verwenden möchte, da die CARS-Tabelle sehr groß ist. Bitte ignorieren Sie den Ansatz der temporären Tabelle, da er aus anderen Gründen im Rest des Codes verwendet wird. Die aktuelle Spalte wäre CUSTOMER_ID und die anderen beiden Spalten, die auf dieser CUSTOMER_ID basieren, sind SN und TYPE.
Erwartete Ergebnisse
CAR_ID || CUSTOMER_ID || TYPE || SN || DATE || DATE2 || SN2
------- || ------------ || ------ || ----- || -------- || ------- || -----
1 || 1 || 5 |||| 02/06/1999 || 03/08/1999 || 2365
5 || 2 || 5 || 2555 || 03/09/1999 || 03/18/1999 || 8562
Sind Sie sicher, 'Query 1'? Die Syntax ist falsch. –
Ja, betrachten Sie CUST1 als treibende Tabelle und CARS1 als Abfrage, die basierend auf den Ergebnissen der ersten Abfrage auswählt. –
Also wollen Sie grundsätzlich Daten aus zwei verschiedenen Zeilen in CARS für jede Zeile in KUNDEN, aber ohne CARS mehr als einmal zu verbinden? Das könnte ein Problem sein ... – Jerrad