tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Yaslaw
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
392
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Julian-w Julian-w ist offline Mitglied Silber
    Registriert seit
    Apr 2007
    Beiträge
    72
    Hallo,
    ich habe momentan ein kleines Problem bei erstellen einer MySQL-Query's, evtl. könntet ihr mir da etwas helfen:

    Ich habe zwei Tabellen: Eine Tabelle enthält alle Gruppen und sieht wie folgt aus:

    id ; name ; ....
    1 ; Gruppe 1; ....
    2 ; Gruppe 2; ....
    2 ; Gruppe 3; ....

    Eine zweite Tabelle enthält nun die "Inhalte" unter den Gruppen und sieht wie folgt aus:

    id ; name ; group ; ...
    1 ; Inhalt 1; 1 ; ...
    2 ; Inhalt 2; 3 ; ...

    Nun würde ich gerne alle Gruppen Abfragen, denen ein Inhalt zugeordnet ist. Im oberen Fall wäre dies nur Gruppe 1 und 3. Gruppe 2 dürfte nicht angezeigt werden.

    Meine aktuelle Anfrage sieht wie folgt aus:
    Code :
    1
    
    SELECT * FROM `categories`
    Und danach prüfe ich, ob in den Kategorien schon "Inhalt" vorhanden ist. Dies ist natürlich nicht sehr effizient und erzeugt recht viele SQL-Anfragen.

    Von daher wollte ich mal Fragen, wie ich dies besser lösen kann?
    Ich freu mich schon auf eure Vorschläge und bedanke mich schonmal

    Viele Grüße
    Julian
     
    projects-tutorials.de - z.Z. noch im Aufbau...

  2. #2
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Mittesl INNER JOIN oder WHERE kannst du das lösen.

    INNER JOIN:
    Code sql:
    1
    2
    3
    4
    5
    6
    
    SELECT
        cat.*
    FROM 
        categories AS cat
        INNER JOIN content AS con
            ON cat.id = con.GROUP

    WHERE:
    Code sql:
    1
    2
    3
    4
    5
    6
    7
    
    SELECT
        cat.*
    FROM
        categories AS cat,
        content AS con
    WHERE
        cat.id = con.GROUP
    Julian-w bedankt sich. 
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  3. #3
    Julian-w Julian-w ist offline Mitglied Silber
    Registriert seit
    Apr 2007
    Beiträge
    72
    Danke für die schnelle Antwort
    Ich habe mal die zweite Methode umgesetzt (das mit INNER JOIN hab ich noch nicht so ganz verstanden, werde ich mal bei Gelegenheit mir näher anschauen), vor allem sieht sie auch recht "logisch und einfach" aus.
    Das dumme ist nur, dass mir die Abfrage für jeden Eintrag in "Inhalt" die Gruppe zurück gibt, es also unter der Gruppe 1 drei "Inhalte" gibt, erhalte ich 3x die Gruppe 1 zurück.
    Gut, das lässt sich recht einfach mit php beheben, aber evtl. kann man ja auch etwas die Abfrage umformen, nur wüsste ich nicht wie

    Aber auf jeden Fall schon mal Danke für die rasante Hilfe!
     
    projects-tutorials.de - z.Z. noch im Aufbau...

Ähnliche Themen

  1. Link "ohne" Inhalt anzeigen
    Von soyo im Forum CSS
    Antworten: 2
    Letzter Beitrag: 25.09.08, 13:41
  2. Teile Zusammenfügen und Gruppen "zerflücken"
    Von patrick_ratz im Forum 3D Studio Max
    Antworten: 8
    Letzter Beitrag: 03.10.07, 09:54
  3. Bereich von "Gruppen" angeben
    Von superplayer im Forum Visual Basic 6.0
    Antworten: 0
    Letzter Beitrag: 14.08.06, 19:18
  4. Antworten: 2
    Letzter Beitrag: 13.07.06, 00:31
  5. Antworten: 4
    Letzter Beitrag: 30.12.04, 19:41