Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Abfrage - COUNT und INNER JOIN

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von foerster7891, 31 Januar 2013.

  1. foerster7891

    foerster7891 Benutzer

    SELECT Studiengaenge.Studiengang, COUNT(Nutzer.Studenten)
    FROM Studiengaenge
    INNER JOIN Nutzer
    ON Nutzer.Studiengang = Studiengaenge.StudiengangID
    WHERE Studiengaenge.Studiengang = 'IMT', Studiengaenge.Studiengang = 'Informatik', Studiengaenge.Studiengang = 'eBusiness'

    Joar ich hab am Ende einfach alles was ich will hintereinander geschrieben weil ich nicht wußte wie ich es richtig machen muss.
    Eigentlich will ich dieses Ergebnis:
    Informatik - 4
    IMT - 3
    eBusiness - 2

    eben die Studiengänge und die Anzahl der Studenten dazu.

    MfG
    foerster7891
     
  2. akretschmer

    akretschmer Datenbank-Guru


    Was Du versuchst mal als beispiel, damit Du vielleicht besser siehst, was falsch ist:

    Code:
    test=*# create table foo (i int, condition int);
    CREATE TABLE
    Time: 108,650 ms
    test=*# insert into foo values (1,2);
    INSERT 0 1
    Time: 0,417 ms
    test=*# select * from foo where condition=1,condition=2,condition=3;
    ERROR:  syntax error at or near ","
    LINE 1: select * from foo where condition=1,condition=2,condition=3;
    
    Eigentlich ist die Fehlermeldung doch klar, oder? Und auch der logische Fehler, oder? Zeigt Deine DB Dir nicht an, was falsch ist?

    Okay, um es richtig zu machen hast Du mind. 2 Wege:

    Code:
    test=*# select * from foo where condition=1 or condition=2 or condition=3;
     i | condition
    ---+-----------
     1 |         2
    (1 row)
    
    Time: 34,813 ms
    test=*# select * from foo where condition in (1,2,3);
     i | condition
    ---+-----------
     1 |         2
    (1 row)
    
     
  3. ukulele

    ukulele Datenbank-Guru

    Eigentlich sollte das fast schon laufen:
    Code:
    SELECT    Studiengaenge.Studiengang,
            count(Nutzer.Studenten) AS Anzahl
    FROM    Studiengaenge
    INNER JOIN Nutzer ON Nutzer.Studiengang = Studiengaenge.StudiengangID
    WHERE    Studiengaenge.Studiengang = 'IMT'
    OR        Studiengaenge.Studiengang = 'Informatik'
    OR        Studiengaenge.Studiengang = 'eBusiness'
    GROUP BY Studiengaenge.Studiengang
    PS: Oder natürlich Studiengaenge.Studiengang IN ('Wert1','Wert2','Wert3'). Wichtig ist aber auch der GROUP BY Teil.
     
  4. foerster7891

    foerster7891 Benutzer

    Vielen Dank
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden