mwarlich Geschrieben 9. März 2004 Teilen 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! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Honkytonk Geschrieben 9. März 2004 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
just_me Geschrieben 9. März 2004 Teilen 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! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.