Datenbanken
Posts 11-17 of 17
- Back
- Next
-
Frank Kalis(not a XING member)Re^4: Select aus zwei verschiedenen Tabellen
Peter Raschendorfer schrieb:
Ein ziemlich umständlicher Weg um zum selben Ergebnis zu kommen wie mit dem von Lars Pohlmann geposteten Statement...
Mag sein. Aber eine der Anforderungen war ja auch "keine verschachtelte Query" (nach Möglichkeit). ;-)
--
Frank Kalis
Microsoft SQL Server MVP
Webmaster:
http://www.insidesql.de
- 18 Sep 2007, 2:56 pm
-
Frank Kalis(not a XING member)Re^5: Select aus zwei verschiedenen Tabellen
Frank Kalis schrieb:
[sic]
Unsinn! Vergiß meinen Kommentar. War nicht so ganz bei der Sache.
--
Frank Kalis
Microsoft SQL Server MVP
Webmaster:
http://www.insidesql.de
- 18 Sep 2007, 3:13 pm
-
Erich KitzmüllerThe company name is only visible to registered members.Re^3: Select aus zwei verschiedenen Tabellen
Frank Kalis schrieb:
Ich würde zunächst einmal die Menge der eindeutigen User per UNION sammeln und dann LEFT JOINs über user auf file und folder Tabelle machen.
Mit FULL OUTER JOIN wäre das nicht passiert.
SELECT NVL(a.usr,b.usr), NVL(a.count_files,0), NVL(b.count_folders,0)
FROM (SELECT usr, COUNT(*) count_files FROM file WHERE public=1 GROUP BY usr) a
FULL OUTER JOIN (SELECT usr, COUNT(*) count_folders FROM folder WHERE public=1 GROUP BY usr) b
ON a.usr = b.usr;
Edit: public=1 hinzugefügt, Tabellennamen an Originalposting angepasst
This post was modified on 18 Sep 2007 at 05:28 pm.- 18 Sep 2007, 4:17 pm
-
Post visible to registered members
-
Peter Raschendorfer(not a XING member)Re^2: Select aus zwei verschiedenen Tabellen
Erich Kitzmüller schrieb:
Mit FULL OUTER JOIN wäre das nicht passiert. Ich arbeite zwar selbst nicht mit MySQL aber meines Wissens nach unterstützt MySQL keinen FULL OUTER JOIN. Ansonsten würde ich es auch mit FULL OUTER JOIN lösen.
@ Niko:
Das funktioniert nur, wenn es zu jedem User auch immer einen Eintrag in beiden Tabellen geben würde, wovon man aber wahrscheinlich nicht ausgehen kann. Da bräcuhte man einen FULL OUTER JOIN .- aber, siehe oben...
- 19 Sep 2007, 09:40 am
-
Post visible to registered members
-
Stefan FrechThe company name is only visible to registered members.Re^2: Select aus zwei verschiedenen Tabellen
Guten Tag Herr Pohlmann
Mit einer kleinen Aenderung hat Ihre Lösung auch tatsächlich geklappt.
SELECT user, SUM(files) AS files, SUM(folders) AS folders FROM (
SELECT user, 1 AS files, 0 AS folders FROM file WHERE public='1'
UNION ALL
SELECT user, 0 AS files , 1 AS folders FROM folder WHERE public='1'
) AS tmp GROUP BY user
Besten Dank für Ihre Hilfe. Natürlich auch vielen Dank an alle anderen Kommentare.
Mit freundlichen Grüssen
Stefan Frech
- 22 Sep 2007, 10:30 am
- Back
- Next
