mwarlich Geschrieben 9. März 2004 Geschrieben 9. März 2004 Hoi zusammen! Ich habe da ein Problem. Ich habe ne fette View auf nem MSSQL 2000 Server. Kleiner Auszug: SELECT firma_id, KDNR, Firma, info, Homepage, Firma_id, Rechnungspers_id, isozertnr, Branchen_id, pdv_nummer, (select fa.maanzahl from tblfirma f,tblfirmenadressen fa where f.firma_id= k.firma_id and f.firma_id = fa.firma_id and fa.isfirst= 1) as MAAnzahl, (select a.strasse from tblfirma f, tbladresse a, tblfirmenadressen fa where f.firma_id= k.firma_id and f.firma_id = fa.firma_id and fa.adr_id = a.adr_id and fa.isfirst= 1) as FirmenStrasse, (select s.plz from tblfirma f, tbladresse a, tblfirmenadressen fa, tblstaedte s where f.firma_id= k.firma_id and f.firma_id = fa.firma_id and fa.adr_id = a.adr_id and isfirst=1 and a.staedte_id= s.staedte_id) as FirmenPLZ, (select s.city from tblfirma f, tbladresse a, tblfirmenadressen fa, tblstaedte s where f.firma_id= k.firma_id and f.firma_id = fa.firma_id and fa.adr_id = a.adr_id and isfirst=1 and a.staedte_id= s.staedte_id) as FirmenOrt, ..... Ausgedruckt ist die ca, 3 Seiten lang. Okay sonderlich riesig isse nicht. Aber da da sehr viele Unterabfragen drin sind kommt die Fehlermeldung ich würde mehr als 255 Tabellennamen abfragen (Ich weiss nicht mehr genau wieviele es wirklich waren). Ich frage mehrere Tabellen mehrmals ab. Nun habe ich mir gedacht, ich bin ja nicht dumm, teile ich das in 2 Views auf und frage die dann in einer MasterView mit Select * auf beide ab. Ätsch, geht auch nicht :-( Meine Frage nun, wie kann ich verhindern das der mir meldet ich würde zu viele Tabellennamen da drin stehen haben? Jemand ne Idee? Thx for Help!
Honkytonk Geschrieben 9. März 2004 Geschrieben 9. März 2004 Original geschrieben von mwarlich Hoi zusammen! Ich habe da ein Problem. Ich habe ne fette View auf nem MSSQL 2000 Server. Kleiner Auszug: Ausgedruckt ist die ca, 3 Seiten lang. Okay sonderlich riesig isse nicht. Aber da da sehr viele Unterabfragen drin sind kommt die Fehlermeldung ich würde mehr als 255 Tabellennamen abfragen (Ich weiss nicht mehr genau wieviele es wirklich waren). Ich frage mehrere Tabellen mehrmals ab. Nun habe ich mir gedacht, ich bin ja nicht dumm, teile ich das in 2 Views auf und frage die dann in einer MasterView mit Select * auf beide ab. Ätsch, geht auch nicht :-( Meine Frage nun, wie kann ich verhindern das der mir meldet ich würde zu viele Tabellennamen da drin stehen haben? Jemand ne Idee? Thx for Help! Hi! Kleiner Tip: Vieleicht mal mit JOIN (siehe T-SQL-Help) arbeiten!? Dürfte auch ein wenig performanter sein... Gruß, Honky
just_me Geschrieben 9. März 2004 Geschrieben 9. März 2004 Es gibt keinen Weg, die Spezifikation zu umgehen. Im MS SQL Server ist die Anzahl der simultan abgefragten Tabellen auf 256 begrenzt. Dabei gilt JEDE Abfrage als Abfrage einer Tabelle, d.h. auch wenn in einer Abfrage 257 mal die gleiche Tabelle gepollt wird, entsteht der Fehler. work around 1. Abfrage erzeugt eine temporäre Tabelle, in die die Resultate des ersten Blocks abgefragter Tabellen geschrieben werden. 2. Abfrage nutzt diese temporäre Tabelle als 1 Tabelle. Vorteil: Dieser Vorgang lässt sich beliebig schachteln. Nachteil: Performance im Auge behalten. Wichtig: SP3a installieren!
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden