tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Yaslaw
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
465
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Quests Sohn
    Quests Sohn Quests Sohn ist offline Mitglied Bronze
    Registriert seit
    Apr 2005
    Beiträge
    43
    Hallo,

    ich möchte zwei Abfragen, die ich geschrieben habe und die auch jeweils für sich funktionieren verbinden:

    1. Die Umkreissuche

    Tabelle "staedte": stadtid, breitengrad, laengengrad, stadtplz, stadt

    PHP-Code:
    $query "SELECT plz, (" $radius " * SQRT(2*(1-cos(RADIANS(breitengrad)) * cos(".$rad_b.") * (sin(RADIANS(laengengrad)) * sin(".$rad_l.") + cos(RADIANS(laengengrad)) * cos(".$rad_l.")) - sin(RADIANS(breitengrad)) * sin(".$rad_b.")))) AS distance FROM staedte HAVING distance <= ".$umkreis
    2. Die Anbieterabfrage

    - Tabelle "anbieter": anbieterid, name, email, plz, status
    - Tabelle "anbieterkategorien": kategorieid, anbieterid

    PHP-Code:
    $query "SELECT email FROM anbieter anb INNER JOIN anbieterkategorien kat USING (anbieterid) WHERE aka.kategorieid = '".mysql_real_escape_string($katid)."' AND anb.status = '1'"
    Jetzt möchte ich aber mit meiner Anbieterabfrage nur solche Anbieter finden,
    deren PLZs in einem Umkreis von X Km rund um eine vorgegebene PLZ liegen.

    Ich bekomme es einfach nicht hin, diese zwei Queries zu verbinden.


    Kann mir jemand weiterhelfen?
    Vielen Dank!
     

  2. #2
    Avatar von Lime
    Lime Lime ist offline frisch fruchtig
    Registriert seit
    Jul 2011
    Beiträge
    374
    Mit diesen Angaben könnte das schwer werden.
    Du hast - in den Abfragen jedenfalls - keinerlei Verknüpfungspunkt, z.B. eine PLZ des Anbieters wäre schon hilfreich genug...
     

  3. #3
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Du kannst einfach im WHERE den Platz mit IN hinzufügen

    Code sql:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    
    SELECT 
        anb.*
    FROM 
        anbieter anb 
        INNER JOIN anbieterkategorien kat 
            USING (anbieterid) 
    WHERE 
        aka.kategorieid = '{$katid}' 
        AND anb.STATUS = '1'
        AND anb.plz IN (
                SELECT
                    st.plz
                FROM
                    (
                        SELECT 
                            plz, 
                            ({$radius} * SQRT(2*(1-cos(RADIANS(breitengrad)) * cos({$rad_b}) 
                            * (sin(RADIANS(laengengrad)) * sin({$rad_l}) + cos(RADIANS(laengengrad)) * cos({$rad_l})) 
                            - sin(RADIANS(breitengrad)) * sin({$rad_b})))) AS distance
                        FROM
                            staedte
                    ) AS st
                WHERE
                    st.distance <= {$umkreis};  
            )
    ;
    Quests Sohn 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

  4. #4
    Avatar von Quests Sohn
    Quests Sohn Quests Sohn ist offline Mitglied Bronze
    Registriert seit
    Apr 2005
    Beiträge
    43
    Hallo Yaslaw,

    ich denke, genau das wars! Wahnsinn, vielen Dank!
     

Ähnliche Themen

  1. MYSQL Abfragen verknüpfen
    Von Bilzebub im Forum PHP
    Antworten: 4
    Letzter Beitrag: 12.05.11, 17:26
  2. Zwei Suchworte mit AND verknüpfen
    Von dki im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 16.08.09, 14:03
  3. Spalten zweier Abfragen verknüpfen?!
    Von muddin im Forum Relationale Datenbanksysteme
    Antworten: 5
    Letzter Beitrag: 07.03.08, 07:47
  4. Zwei Abfragen in Hibernate verknüpfen
    Von Zodac im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 08.03.07, 16:44
  5. Zwei SELECT-Abfragen zusammenfassen?
    Von ulireg im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 26.07.05, 08:37

Stichworte