tutorials.de Buch-Aktion 02/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
184
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    ElJarno ElJarno ist offline Mitglied Silber
    Registriert seit
    May 2010
    Beiträge
    88
    Hi Leute,
    habe Folgende Tabelle "Produkpalette" mit Spalten:
    • ID
    • Geschäftpartner_ID
    • Artikelgruppe_ID
    Jetzt zu meiner Abfrage. Ich möchte gerne diejenigen Geschäftpartner selektieren die z.b die Artikelgruppe "Benzinmotoren" und "Dieselmotoren" in der Tabelle aufweisen. Also beide Kategorie beinhalten.
    Mein Arbeitskollege hat dies hier vorgeschlagen:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    SELECT * FROM GESCHAEFTSPARTNER WHERE GESCHAEFTSPARTNER_ID IN
    (
        SELECT GESCHAEFTSPARTNER_ID FROM PRODUKTPALETTE WHERE ARTIKELGRUPPEN_ID IN
        (
            SELECT ARTIKELGRUPPE_ID FROM ARTIKELGRUPPE WHERE NAME IN ('Pumpen','Benzinmotoren')
        )
        GROUP BY GESCHAEFTSPARTNER_ID
        HAVING COUNT(*) = 2
    )
    Jedoch würde dies dann auch bei 2 zugeordneten Dieselmotoren funktionieren bzw. wär auch nur ein Abfrage nach 2 Artikelgruppen möglich.

    Gruß Jan
     

  2. #2
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    4.673
    1) Was für eine DB?
    2) Ich versteh deine Fragen nicht. Es sind doch 2 Artikelgruppen. Was willst due genau haben?
     
    ---------------------------------------------------------------------------------------------------
    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: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  3. #3
    ElJarno ElJarno ist offline Mitglied Silber
    Registriert seit
    May 2010
    Beiträge
    88
    1) MySQL
    2) Also ich habe einen Geschäftpartner welche z.b Benzinmotoren und Dieselmotoren liefert
    => Ergibt 2 Datensätze in besagter Tabelle.
    Ein anderer Geschäftpartner liefert nur Benzinmotoren oder Dieselmotoren.
    => Ergibt jeweils einen Datensatz.
    Ich will nun über eine Anfrage nur den GP selektieren welcher beides liefert. Dies soll natürlich nicht starr sein sondern auch über mehrer Katergorien funktionieren, also einen GP welche Diesel-, Gas-, Benzin-, Elektro-, Wasserstoffmotoren u.s.w liefert, also belibieg viele Kategorien.
     

  4. #4
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    4.673
    In Verbindung mit PHP?
     
    ---------------------------------------------------------------------------------------------------
    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: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  5. #5
    ElJarno ElJarno ist offline Mitglied Silber
    Registriert seit
    May 2010
    Beiträge
    88
    Ne einfach nur ne simple MySQL Query
     

  6. #6
    Avatar von Steusi
    Steusi Steusi ist offline Nasenbär
    Registriert seit
    Sep 2006
    Ort
    MV
    Beiträge
    428
    Dein Query liefert doch genau dies, was du möchtest.

    Wenn du natürlich dein Subquery erweiterst:
    Code sql:
    1
    
    SELECT ARTIKELGRUPPE_ID FROM ARTIKELGRUPPE WHERE NAME IN ('Pumpen','Benzinmotoren','Gasmotoren','Wasserstoffmotoren')
    Musst du Having auch anpassen:
    Code sql:
    1
    
    HAVING COUNT(*) = 4
    Damit ist sichergestellt, das nur GP angezeigt werden, die alles liefern. Wenn du es aber variabel haben möchtest, brauchst du ja eine Eingabemaske für die Katergorien.
     
    Gruß Steusi

    Sollte dir ein Tipp von mir geholfen haben, freue ich mich auch über eine kleine Bewertung.
    Und wenn ein Problem gelöst ist, markiere deinen Beitrag bitte als erledigt.
    PHP-Code:
    $fehler "dummer Tippfehler";
    echo(
    "Und ist das Programm noch so klein, es passt immer noch ein ".$fehler". rein!"); 

Ähnliche Themen

  1. MySQL: Query Ergebnis für neuen Query
    Von genji3000 im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 15.08.09, 15:24
  2. php+mySQL: Daten einer früheren Query in einer neuen Query wiederverwenden
    Von bekay im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 06.04.09, 11:50
  3. INSERT query schnell zu UPDATE query machen
    Von breytex im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 16.07.08, 08:19
  4. MySQL Query Browser - Query History
    Von flashray im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 04.10.07, 15:11
  5. Spezielle DB-Abfrage (Query-Frage)
    Von saila im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 17.03.07, 15:35