Die Where-Klausel, um zu überprüfen, gegen zwei Spalten in einer anderen Tabelle

Ich bin kämpfen, um diese Antwort für einige Grund.

Ich habe zwei Tabellen, Tabelle1 und Tabelle2, die wie folgt Aussehen:

Tabelle1:

ID   Location  Warehouse
1    London    Narnia
2    Cyprus    Metro
3    Norway    Neck
4    Paris     Triumph

Tabelle2:

ID   Area      Code
1    London    Narnia
2    Cyprus    Metro
3    Norway    Triumph
4    Paris     Neck

Brauche ich, um wählen Sie zunächst alles aus Tabelle1 wo table1.Location ist in table2.Area UND table1.Warehouse ist in table2.Code GEGEBEN, DASS table1.Location ist in table2.Area. I. e. Ich will:

ID   Location  Warehouse
1    London    Narnia
2    Cyprus    Metro

Habe ich:

select
  1.location
, 1.warehouse
from table1 1
where 1.location in (select area from table2)
and 1.warehouse in (select code from table2)

Aber das wird nicht funktionieren, da muss ich die zweite where-Klausel ausgeführt werden, basierend auf der ersten where-Klausel festzuhalten.

Habe ich auch schon versucht ähnliche Abfragen mit joins ohne Erfolg.

Gibt es eine einfache Möglichkeit, dies zu tun?

InformationsquelleAutor Johnathan | 2015-09-30

Schreibe einen Kommentar