Chris: Anzahl der Zeilen prüfen

Hallo zusammen,

kleines Problemchen:

SELECT s4all_user.id FROM s4all_user,s4all_pics
      WHERE s4all_user.foto=1
      AND   COUNT(s4all_pics.nick_id)=0

ich möchte gerne alle Datensätze haben bei denen das Feld s4all_user.foto=1 ist und null Datensätze in der Tabelle s4all_pics
stehen die zum jeweiligen user gehören.
Sinn ist es falsche angaben zu berichtigen, sprich:

User hat angeklickt das er Fotos hat, aber in der DB sind garkeine hinterlegt.

Danke für jeden Tipp und viele Grüße,

Chris

  1. Servus,

    SELECT s4all_user.id FROM s4all_user,s4all_pics
    WHERE s4all_user.foto=1
    AND   s4all_pics.nick_id = NULL

    User hat angeklickt das er Fotos hat, aber in der DB sind garkeine hinterlegt.

    Eine andere Reihenfolge wäre zu bevorzugen.
    Datensatz wird nich in die DB eingetragen, wenn der Benutzer Blödsinn
    auswählt.

    Gruss Matze

    1. Hi,

      Eine andere Reihenfolge wäre zu bevorzugen.
      Datensatz wird nich in die DB eingetragen, wenn der Benutzer Blödsinn
      auswählt.

      keine Frage ;-) Ist auch schon alles abgeändert. Bleibt nur das Problem der schon davor gesetzten Daten, die würde ich natürlich auch gerne bereinigen.

      Gruß

      Chris

      1. Servus,

        Man beachte:

        SELECT s4all_user.id FROM s4all_user,s4all_pics
        WHERE s4all_user.foto=1
        AND   s4all_pics.nick_id = NULL

        im besondern = NULL  am ende.

        Gruss Matze

        1. Hi,

          SELECT s4all_user.id FROM s4all_user,s4all_pics
          WHERE s4all_user.foto=1
          AND   s4all_pics.nick_id = NULL

          leider klappt es nicht ;-)
          Keine Fehler aber auch keiner Resultate, aber die sind 100% da.

          ich hab das probiert:

          SELECT s4all_user.id FROM s4all_user,s4all_pics
             WHERE s4all_user.foto   = 1
             AND (s4all_pics.nick_id = s4all_user.id) = NULL

          klappt aber leider auch nicht ;-(

          Grüße

          1. Servus,

            ich hab das probiert:

            SELECT s4all_user.id FROM s4all_user,s4all_pics
               WHERE s4all_user.foto   = 1
               AND (s4all_pics= s4all_user.id) = NULL

            Das kann auch nicht gehen.
            Und wenn meine obige Lösung keine Ergebnisse liegen, dann ist s4all_pics.nick_id auch nicht leer.

            Mach mal

            select ###| s4all_pics |#### from s4all_pics

            und prüfe, wass bei der ausgabe zwischen den ####### steht.

            Gruss Matze

            1. yo,

              Und wenn meine obige Lösung keine Ergebnisse liegen, dann ist s4all_pics.nick_id auch nicht leer.

              mal davon abgeshen, dass bei deiner abfrage die join bedingungen fehlt, wird ein Inner Join auch nicht zum gewünschten ergebnis führen.

              Ilja

              1. Servus,

                mal davon abgeshen, dass bei deiner abfrage die join bedingungen fehlt, wird ein Inner Join auch nicht zum gewünschten ergebnis führen.

                Du hast vollkomen recht.

                Gruss Matze

  2. yo,

    ich möchte gerne alle Datensätze haben bei denen das Feld s4all_user.foto=1 ist und null Datensätze in der Tabelle s4all_pics
    stehen die zum jeweiligen user gehören.

    SELECT a.id FROM s4all_user AS a LEFT JOIN s4all_pics AS b
    ON (a.id=b.nick_id)
    WHERE a.foto=1
    AND b.nick_id IS NULL

    Ilja