Datenbanken

Datenbanken

Posts 11-17 of 17
  • User photo
    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
  • User photo
    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
  • Erich Kitzmüller
    Erich Kitzmüller
    The 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.
  • Post visible to registered members
  • User photo
    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...
  • Post visible to registered members
  • Stefan Frech
    Stefan Frech
    The 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