Ich habe vier Tabellen - tblBase
, tblLookup
, tblData
und tblData2
Joining 3 Tabellen basierend auf gemeinsamen Spalten
tblBase
+---------+----------+-----------+------------+
| Base_ID | Base_Num | Base_Type | Base_Date |
+---------+----------+-----------+------------+
| 1 | 1234 | ABC | 01/05/2016 |
| 2 | 3456 | DEF | 02/05/2016 |
| 3 | 7890 | GHI | 03/05/2016 |
+---------+----------+-----------+------------+
tblLookup
+-----------+-------------+
| Lookup_ID | Lookup_Name |
+-----------+-------------+
| 1 | Apple |
| 2 | Orange |
| 3 | Banana |
+-----------+-------------+
tblDat ein
+-----------+----------+------------+
| Data_Name | Data_Num | Data_Date |
+-----------+----------+------------+
| Apple | 1234 | 02/05/2016 |
| Orange | 3456 | 03/05/2016 |
| Guava | 5937 | 04/05/2016 |
+-----------+----------+------------+
tblData2
+------------+-----------+------------+
| Data2_Name | Data2_Num | Data2_Date |
+------------+-----------+------------+
| Grapes | 3953 | 02/05/2016 |
| Orange | 3456 | 03/05/2016 |
| Banana | 7890 | 04/05/2016 |
| Banana | 1473 | 07/05/2016 |
+------------+-----------+------------+
ich die Data_Date
von tblData
oder tblData2
(wo auch immer die Daten vorhanden sind) verbinden mit tblBase
wo Base_Num
Spiele zu bekommen versuche. Da die allgemeinen Spalten in tblLookup
existieren, muss ich alle vier Tabellen verbinden.
Zum Beispiel Base_ID = 3
, Base_Num = 7890
sollte Data_Date
von tblData2
, da beide Base_ID (Banana)
und Base_Num (7890)
Matches abholen.
Ich versuchte, INNER JOIN
zu tun, aber es gab nicht das gewünschte Ergebnis.
Ich bin für eine resultierende Tabelle wie folgt aussehen:
+---------+----------+-----------+------------+-------------------+
| Base_ID | Base_Num | Base_Type | Base_Date | Desired_Data_Date |
+---------+----------+-----------+------------+-------------------+
| 1 | 1234 | ABC | 01/05/2016 | 02/05/2016 |
| 2 | 3456 | DEF | 02/05/2016 | 03/05/2016 |
| 3 | 7890 | GHI | 03/05/2016 | 04/05/2016 |
+---------+----------+-----------+------------+-------------------+
sicherlich Ihre Antwort bekommen würde helfen, früher, wenn Sie Ihre Post bearbeiten schließen die SQL, die Sie bereits versucht haben, die nicht das gewünschte Ergebnis produziert – dinotom
Dinotom, als INNER JOIN gab mir das Ergebnis nicht, versuchte ich JOIN. Aber ich kann nur einer Datentabelle beitreten, nicht den beiden Datentabellen. Hier ist mein Code: 'SELECT A. *, C.Data_Date VON tblBase A \t JOIN tblLookup B auf A.Base_ID = B.Lookup_ID \t JOIN tblData C auf B.Lookup_Name = C.Data_Name UND C.Data_Num = A.Base_Num ' – Shanka
Base_ID = 2 Base_num = 3456 (orange) Ergebnis könnte von tbldata oder tbldata2 kommen - wie soll dieser (und andere Duplikate) behandelt werden? –