Hi shaq,
Wenn ich das jetzt auf alle 5 übertrage würde das meiner ansicht nach so aussehen:
select count(t1.ISBN), count(t2.ISBN), count(t3.ISBN)...
from tabelle1 t1, tabelle2 t2, tabelle3 t3...
where (t1.ISBN='123-12345-123-X' || t2.ISBN='123-12345-123-X' || t3.ISBN='123-12345-123-X'...);
das kommt darauf an, was Dein RDBMS kann.
Dein Einsatzfall sieht mir prädestiniert aus für die Verwendung einer VIEW über alle fünf Tabellen.
Oder nicht?
Ich denke, nein. Du willst ja nicht ein Fünftupel von Zahlenwerten bekommen, sondern ... ja, was eigentlich? Willst Du nur wissen, ob so ein Ding existiert, oder auch, wo es liegt? Ist die ISBN der primary key Deiner Tabellen?
Kann man eine solche Abfrage über 5 Tabellen ziehen
Das kommt darauf an, was Du unter "ziehen" verstehst.
oder muss ich 5 einzelne draus machen?
Es sind intern immer Zugriffe auf fünf Tabellen ... für Dich interessant sein sollte nicht, wieviel SQL-Code Du generieren mußt (das hängt vor allem von Deinem RDBMS ab - versteht dieses ein "UNION"?), sondern wie das Laufzeitverhalten dieses Codes ist (das wiederum hängt von den konkreten SQL-Statements ab und kann leicht um mehrere Zehnerpotenzen streuen).
Viele Grüße
Michael
T'Pol: I apologize if I acted inappropriately.
V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
(sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
=> http://www.peter.in-berlin.de/projekte/selfcode/?code=sh%3A|+fo%3A}+ch%3A]+rl%3A(+br%3A^+n4%3A(+ie%3A%25+mo%3A)+va%3A|+de%3A%2F+zu%3A|+fl%3A(+ss%3A)+ls%3A~+js%3A|
Auch diese Signatur wird an korrekt konfigurierte Browser gzip-komprimiert übertragen.