SQL MSSQL 2000 - Feld als Subselect

davidbaumann

Commodore
Registriert
Aug. 2004
Beiträge
4.867
Hallo
ich habe folgenden Select:
Code:
SELECT distinct
       OXI.OrderId,
       OXI.IngId,
       (SELECT TOP (1) LotNo
        FROM   dbo.WeighLog AS wl
        WHERE  (OrderNo = OXI.OrderId) AND (Ingredient = OXI.IngId) AND (NOT (LotNo LIKE '*****%')) AND (NOT (isnull(silo, '')=''))
        ORDER BY StopDos DESC) AS LotNo,
       (SELECT TOP (1) Silo
        FROM   dbo.WeighLog AS wl
        WHERE  (OrderNo = OXI.OrderId) AND (Ingredient = OXI.IngId) AND (NOT (isnull(silo, '')=''))
        ORDER BY StopDos DESC) AS Silo
FROM dbo.OrderXIng AS OXI
dieser funktioniert unter MSSQL 2005 einwandfrei.
Unter 2000 sagt er mir "Fehler bei '('".
Muss ich jetzt den ganzen Select umstellen (auf ein Join)?
Oder geht das irgendwie auch beim SQL Server 2000?

Danke schonmal für die Hilfe,
Gruß David.
 
Code:
SELECT DISTINCT
       OXI.OrderId,
       OXI.IngId,
       (SELECT TOP 1 LotNo
        FROM   	dbo.WeighLog
        WHERE	OrderNo    = OXI.OrderId
	AND 	Ingredient = OXI.IngId
	AND 	LotNo NOT LIKE '*****%'
	AND 	silo > ''

        ORDER BY StopDos DESC) AS LotNo,


       (SELECT TOP 1 Silo
        FROM   	dbo.WeighLog
        WHERE  	OrderNo    = OXI.OrderId
	AND 	Ingredient = OXI.IngId
	AND 	silo > ''

        ORDER BY StopDos DESC) AS Silo

FROM dbo.OrderXIng AS OXI
 
Zuletzt bearbeitet:
Sehe ich das richtig, dass du nur folgendes angepasst hast:
-> Entfernen der Klammern im subselect
-> Austausch von isnull durch >= ''

Danke, er geht! :)
Gruß
 
Ja das siehst du richtig :D

Der Austausch von NOT (isnull(silo, '')='') zu silo > '' wäre nicht nötig gewesen, ist im normallfall aber um einiges schneller und macht genau das gleiche :eek:

Waren also nur die Klammern ;)
 
Zuletzt bearbeitet: (muss natürlch ">" sein, sonst gibts bullshit ^^)
Ich habe das ganze für einen Crystal Report benötigt.
Habe jetzt den Subselect statt einem Unterbericht pro Detail-Datensatz verwendet -> Hammer schnell ;)
 

Ähnliche Themen

Antworten
10
Aufrufe
5.284
R
S
Antworten
7
Aufrufe
20.030
S
Zurück
Oben