2016-07-29 15 views
0
auswählen

Ich verwende diesen Code in SQL Server 2005 und es funktioniert.SQL Server 2000 wo Code = Code aus

select name 
from customers 
where code = (select code from inventory where Active = 1) 

Wie kann ich dies in SQL Server 2000 tun?

+0

Wenn nur ein Code zurückgegeben wird, das sollte –

+2

arbeiten Welche Fehler haben Sie bekommen? –

+0

Ich weiß nicht, was ist besser, Ihr Ansatz oder eine innere Join: 'Wählen Sie c.name von Kunden c innere Join-Inventar i auf i.code = c.code wobei i.active = 1'. –

Antwort

1

Verwenden IN ..mit = Wenn es mehr als ein Code ist, wird Ihre Abfrage fehlschlagen

select name from customers where code in (select code from inventory where Active=1) 
+0

Doesnt '= (SELECT code ...)' Arbeit in SQL-Server 2000, wenn nur ein Code zurückgegeben wird? –

+0

Ja, das funktioniert, solange ein Code zurückgegeben wird – TheGameiswar

+0

@TimSchmelter, wahrscheinlich ein datenabhängiges Problem, nichts mit der SQL Server-Version zu tun. – jarlh