Chrisi: MYSQL Abfragen verknüpfen

Moinsen,

ich möchte gerne 3 MYSQL Abfragen verknüpfen.
Ich habe schon bei Google gesucht, nur finde ich da keine Beispiele, wenn sich die Abfragen in einer Tabelle befinden.

Könnte mir jemand ein Beispiel nennen, wie man das in einer Tabelle macht?

Beispiel Abfragen:

SELECT  
  typ, hersteller, nummer, datum  
FROM  
  tl_typ  
WHERE  
  typ = 'Auto'  
AND  
  hersteller = 'Audi'  
ORDER BY nummer DESC LIMIT 10  
  
  
SELECT  
  typ, hersteller, nummer, datum  
FROM  
  tl_typ  
WHERE  
  typ = 'Auto'  
AND  
  hersteller = 'BWM'  
ORDER BY nummer DESC LIMIT 10  
  
  
SELECT  
  typ, hersteller, nummer, datum  
FROM  
  tl_typ  
WHERE  
  typ = 'Auto'  
AND  
  hersteller = 'VW'  
ORDER BY nummer DESC LIMIT 10

Die Abfragen sind nur Beispiele.

Wäre schön wenn mir jemand erklären könnte. Wie diese Abfragen verknüpfen kann.

Vielen Dank

Chrisi

  1. Tach!

    ich möchte gerne 3 MYSQL Abfragen verknüpfen.

    Was ist das Ziel? Soll ich raten, dass es "Auswahl gemäß namentlich benannte Hersteller" lautet? Dann hilft IN().

    dedlfix.

  2. Beispiel Abfragen:

    SELECT

    typ, hersteller, nummer, datum
    FROM
      tl_typ
    WHERE
      typ = 'Auto'
    AND
      hersteller = 'Audi'
    ORDER BY nummer DESC LIMIT 10

    SELECT
      typ, hersteller, nummer, datum
    FROM
      tl_typ
    WHERE
      typ = 'Auto'
    AND
      hersteller = 'BWM'
    ORDER BY nummer DESC LIMIT 10

    SELECT
      typ, hersteller, nummer, datum
    FROM
      tl_typ
    WHERE
      typ = 'Auto'
    AND
      hersteller = 'VW'
    ORDER BY nummer DESC LIMIT 10

      
      
    
    > Wäre schön wenn mir jemand erklären könnte. Wie diese Abfragen verknüpfen kann.  
      
    Für mich sieht das aus, als suchst Du nach "oder"  
      
    ~~~sql
    SELECT  
      typ, hersteller, nummer, datum  
    FROM  
      tl_typ  
    WHERE  
      typ = 'Auto'  
      AND (  
           hersteller = 'VW'  
         OR  
           hersteller = 'AUDI'  
         OR  
            hersteller = 'AUDI'  
       )  
    ORDER BY nummer DESC LIMIT 10;
    

    Falls Du aber je Hersteller 10 Autos suchst, dann könnte man auch UNION hantieren. UNION wird verwendet, um das Ergebnis einer Anzahl von SELECT-Anweisungen zu einer Ergebnismenge zusammenzufassen.

    (SELECT  
      typ, hersteller, nummer, datum  
    FROM  
      tl_typ  
    WHERE  
      typ = 'Auto'  
    AND  
      hersteller = 'Audi'  
    LIMIT 10)  
      
    UNION  
      
    (SELECT  
      typ, hersteller, nummer, datum  
    FROM  
      tl_typ  
    WHERE  
      typ = 'Auto'  
    AND  
      hersteller = 'BWM'  
    LIMIT 10)  
      
    UNION  
      
    (SELECT  
      typ, hersteller, nummer, datum  
    FROM  
      tl_typ  
    WHERE  
      typ = 'Auto'  
    AND  
      hersteller = 'VW'  
    LIMIT 10)  
      
    ORDER BY hersteller, nummer DESC
    

    Was davon richtig ist hängt von Deinen Vorstellungen ab, die ich nicht komplett ergründen kann.

    Jörg Reinholz

    1. Ihr seid ja Spitze :)

      "UNION" ist genau das, wonach ich gesucht habe.

      Danke euch beiden

      Chrisi