Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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!

Geschrieben
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

Geschrieben

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!

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...