php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.07.2004, 13:58  
Gast
 
Beiträge: n/a
Standard SQL Abfrage aus mehreren Tabellen

Hallo Zusammen,

habe unter anderen eine Tabelle Adressen, eine Tabelle Betreuer, eine Tabelle k_schl_w (Schlagwort bzw. Verteiler).

Will für eine Exportfunktion eine Abfrage erstellen, bei der mehrere Schlagwörter stimmen können (und Verknüpfung) oder bei der mehrere Werte vorgegeben werden und nur ein Wert davon stimmen muss (oder verknüpfung)

Beispiel: Will das alle Adresse bezeigt werden, die den Betreuer "SH" haben und im Verteiler die Worte "VWL" und "Kto-Auszug vierteljährl."

Es sollen auch mal mehrere Verteiler in der Undverknüpfung kompiniert werden. Bis zu 5 Verteiler.

Habe mal folgende Abfrage erstellt, liefert aber nichts als ergebnis zurück, ich weis aber dass es adressen gibt, die hiermit überein stimmen.

Code:
select adresse.anrede as Anrede, adresse.nname as Name,
      adresse.strasse as Strasse, adresse.land as Land,
      adresse.plz as PLZ, adresse.ort as Ort,
      adresse.postfach as Postfach, adresse.p_plz as PostfachPLZ,
      adresse.p_ort as PostfachOrt, adresse.suchname as Suchname,
      betreuer.kurzzeichen as Betreuer,
      adresse.briefanrede as Briefanrede
      From adresse, k_schl_w
      INNER JOIN betreuer ON
      k_schl_w.adressid = adresse.adressid and
      adresse.betreuerid = betreuer.betreuerid 
      AND k_schl_w.name = "Kto-Auszug vierteljährl."
      AND k_schl_w.name = "golf"
      AND betreuer.kurzzeichen = "sh"
Danke für Eure Hilfe.

Gruss

Günther
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 26.07.2004, 14:10  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 2.150
Guradia befindet sich auf einem aufstrebenden Ast
Standard

Ich habe das mal durchformatiert . um es überhaupt lesen zu können ^^
Dabei " in ' umgewandelt ...

Würde vorschlagen, dass du `k_schl_w` auch noch über ein JOIN einbindest ...

Code:
SELECT  adresse.anrede as Anrede,
        adresse.nname as Name,
        adresse.strasse as Strasse,
        adresse.land as Land,
        adresse.plz as PLZ,
        adresse.ort as Ort,
        adresse.postfach as Postfach,
        adresse.p_plz as PostfachPLZ,
        adresse.p_ort as PostfachOrt,
        adresse.suchname as Suchname,
        betreuer.kurzzeichen as Betreuer,
        adresse.briefanrede as Briefanrede
        
FROM    adresse,
        k_schl_w
    INNER JOIN betreuer
        ON  k_schl_w.adressid = adresse.adressid
        AND adresse.betreuerid = betreuer.betreuerid
        AND k_schl_w.name = 'Kto-Auszug vierteljährl.'
        AND k_schl_w.name = 'golf'
        AND betreuer.kurzzeichen = 'sh'
Guradia ist offline  
Alt 26.07.2004, 14:31  
Gast
 
Beiträge: n/a
Standard

Hallo Guradia,

danke für Deine Hilfe.

Wenn ich die Abfrage jedoch ausführe, dann bekomme ich immer noch als Ergebnis eine leere Tabelle zurück. (führe die Abfrage zum Testen direkt auf dem MySQL aus)

Was stimmt an der Abfrage nicht?

Wie funktioniert das mit dem zweiten Join?

Danke bereits vorab.

Gruss

Günther
 
Alt 26.07.2004, 14:37  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 2.150
Guradia befindet sich auf einem aufstrebenden Ast
Standard

Habs mal einigermassen sinnvoll angeschaut ...
wenn das nicht klappt .. klappts halt so nicht ...

mysql_error() ist dann vermutlich hilfreich .. oder du fragst nicht existente Daten ab ...

Code:
SELECT  adresse.anrede as Anrede,
        adresse.nname as Name,
        adresse.strasse as Strasse,
        adresse.land as Land,
        adresse.plz as PLZ,
        adresse.ort as Ort,
        adresse.postfach as Postfach,
        adresse.p_plz as PostfachPLZ,
        adresse.p_ort as PostfachOrt,
        adresse.suchname as Suchname,
        betreuer.kurzzeichen as Betreuer,
        adresse.briefanrede as Briefanrede
        
FROM    adresse

    INNER JOIN  k_schl_w
        ON  k_schl_w.adressid = adresse.adressid
        AND k_schl_w.name = 'Kto-Auszug vierteljährl.'
        AND k_schl_w.name = 'golf'

    INNER JOIN betreuer
        ON  adresse.betreuerid = betreuer.betreuerid
        AND betreuer.kurzzeichen = 'sh'
Guradia ist offline  
Alt 26.07.2004, 14:44  
Gast
 
Beiträge: n/a
Standard

Danke nochmals,

das Ergebnis ist leider immer noch das Gleiche.

Wenn ich allerdings die Zeile

AND k_schl_w.name = 'golf'

auskommentiere, dann kommt das richtige ergebnis. Scheint irgend etwas mit den beiden Zeilen zu tin zu haben:

AND k_schl_w.name = 'Kto-Auszug vierteljährl.'
AND k_schl_w.name = 'golf'


egal welche ich auskommentiere es funktioniert, aber ich will doch nur die Adressen bei denen beides vorkommt.

Gibt es noch eine andere Möglichkeit der Und Verknüpfung?

Danke.

Gruss Günther
 
Alt 26.07.2004, 14:50  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 2.150
Guradia befindet sich auf einem aufstrebenden Ast
Standard

Wo du es nun bemerkst ^^

Code:
AND ( k_schl_w.name = 'Kto-Auszug vierteljährl.'
    OR k_schl_w.name = 'golf' )
Guradia ist offline  
Alt 26.07.2004, 15:00  
Gast
 
Beiträge: n/a
Standard

ja, so erhalte ich aber Adressen, die entweder 'Kto-Auszug vierteljährl.' oder 'golf' enthalten.

Ich will aber Adressen die beide Kriterien enthalten.



Code:
AND ( k_schl_w.name = 'Kto-Auszug vierteljährl.' 
    AND k_schl_w.name = 'golf' )
liefert aber wieder eine leere Tabelle, obwohl ich weiss dass das nicht richtig ist. Es gibt definitiv Datensätze für die beides zutrifft.

Danke für Deine Hilfe.

Gruss

Günther
 
Alt 26.07.2004, 16:56  
Gast
 
Beiträge: n/a
Standard

Hallo

kann mir den keiner helfen?

Bin immer noch bei der Und Verknüpfung die nicht funtktioiniert.

Gruss

Günther
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
abfrage auf gleiche Spalten aus zwei Tabellen maeck Datenbanken 13 08.07.2008 10:09
Abfrage mehrere Tabellen SteiniKeule Datenbanken 14 18.04.2008 19:57
abfrage über mehrere tabellen mit einer bedingung DarkThunder PHP Tipps 2007 6 15.04.2007 17:13
Abfrage mehrerer Tabellen per PHP (Code vereinfachen) PHP Tipps 2007 4 18.12.2005 12:34
[Erledigt] abfrage mehrere tabellen PHP Tipps 2005-2 3 31.10.2005 21:57
Abfrage aller Tabellen über Schleife PHP Tipps 2005-2 7 22.10.2005 12:16
Daten aus mehreren Tabellen holen Datenbanken 0 19.09.2005 17:14
[Erledigt] MySQL Abfrage aus mehreren Tabellen Datenbanken 1 12.04.2005 17:53
Abfrage aus mehreren Tabellen msdose Datenbanken 6 17.03.2005 10:25
[Erledigt] Suche mit mehreren unterschiedlichen Tabellen Datenbanken 9 31.12.2004 17:39
[Erledigt] Selectanfrage an eine Datenbank,aber aus mehreren Tabellen Datenbanken 2 26.10.2004 07:23
Abfrage über 3 Tabellen Datenbanken 3 20.09.2004 08:08
Abfrage zweier Tabellen funzt net richtig Datenbanken 1 17.09.2004 12:53
2 Tabellen 1 Abfrage nilsfeld Datenbanken 6 11.08.2004 11:18
Abfrage über 3 Tabellen PHP Tipps 2004 3 31.07.2004 22:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
sql tabelle abfrage erstellen, sql 2008 \tabellen abfrage\, betreuer adressieren, php sql abfrage über mehrere tabellen, sql mit mehreren from, sql tabellen adressieren, and or verknüpfung sql, sql abfrage name mehrerer adressen, sql where bei mehreren from, sql mit mehrere verteiler, sql abfrage von 2 verschiedenen tabellen verknüpfungen, namen aus zwei tabellen in eine tabelle sql, verknüpfung adresse sql, sql abfragen aus mehrern tabellen, abfrage aus verschiedenen tabellen sql, bezeichnung in tabellen abfrage such, tabellenadressierung sql, sql 2008 tabelle adressieren, swl kurzzeichen, name adresse land

Alle Zeitangaben in WEZ +1. Es ist jetzt 12:31 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.