Unterabfragen zu Unterabfragen
Ich versuche eine Select-Anweisung zu erstellen
Ich muss aus einer Tabelle einen Datensatz zusammenstellen, der dem gleichen Code entspricht, der in einer anderen Tabelle verwendet wird.
Besser gesagt, ein Kunde wählt aus einer Dropdown-Liste eine Stadt und eine Kategorie für diese Stadt aus. Wenn der Client als Nächstes auf klickt, werden die verschiedenen Orte in dieser Stadt angezeigt, die dieser Kategorie entsprechen. aber ich kann nicht herausfinden, wo ich falsch liege.
Wenn der Kunde nun eine Stadt auswählt, gibt es zwei Datensätze, die für jede Stadt gelesen werden, einen richtigen Stadtcode und einen Postfachcode mit dem Anfangsbuchstaben "bx"
in meiner ersten Abfrage, um Duplikate zu beseitigen, sage ich
select c.[Description] from city c
where c.Provincecode like 'EC' and
c.citycode in (select c.citycode from City c
where SUBSTRING(c.citycode,0,3) not like 'bx')
das gibt mir einen Stadtnamen.
Wenn der Kunde zum Beispiel nur Orte ausgewählt hat, an denen Bargeld zu sehen ist, sollte in den Ergebnissen nur ein Datensatz angezeigt werden
Aber wie auch immer, ich kann nicht die richtige Syntax finden
Ich habe es versucht:
select c.[Description] from city c
where c.Provincecode like 'EC' and
c.citycode in (select c.citycode from City c
where SUBSTRING(c.citycode,0,3) not like 'bx')
and exists (select * from Customers cu
where cu.Category like 'SC' and cu.Province like 'EC')
das bringt aber mehr ergebnisse als erwartet
Dies geschieht mithilfe einer Zugriffsdatenbank, aber ich verwende SQL, um die Codierung durchzuführen, die ich erneut in den Zugriff schreibe. Das ist kein Problem
Wenn also jemand die SQL-Antwort bereitstellen könnte, kann ich den Rest von dort aus erledigen
Ich bin mir nicht sicher, ob ich mitmachen soll. Ich habe es versucht
select * from
(select c.[Description] from city c
where c.Provincecode like 'EC' and
c.citycode in (select c.citycode from City c
where SUBSTRING(c.citycode,0,3) not like 'bx')) x
join Customers on province=city.provincecode where Category like 'SC'
aber ich bekomme fehler für mehrteilige kennung konnte nicht gebunden werden
BEARBEITEN
Dies ist die neue Abfrage
select *
from
(
select c.*
from city c
where c.Provincecode like 'EC'
and c.citycode in
(
select c.citycode
from City c
where SUBSTRING(c.citycode,0,3) not like 'bx'
)
) x
join
Customers
on province=x.Provincecode
where Category like 'SC'
was zurückgegeben wird ist
Wie Sie sehen, gibt es zu viele Ergebnisse, bei denen C Strydom der Kunde ist, aber alle Städte sind vorhanden
Für dieses Beispiel sollte nur ein Datensatz angezeigt werden, der zweite