verschachtelte SELECT-Anweisung und MySQL
verschachtelte SELECT-Anweisung und MySQL
am 27.09.2004 01:42:14 von Gilbert Mirenque
Hallo allerseits,
ich habe folgende Anweisung:
$query="select TITEL,RUFNAME,FAMNAME,GEBURTORT from tabelle
where FAMNAME='$famname' and
RUFNAME='$rufname' and
GEBURTORT like '$geburtort%'";
$result = mysql_query($query);
durch das LIKE bei GEBURTORT können mehrere DS im result entstehen.
jedoch will ich unterscheiden, ob es DS sind, die "ähnliche" Geburtsorte
haben oder DS die gleiche Geburtsorte haben und sich in anderen
Attributen unterscheiden, die nicht verglichen werden.
habe mir das so gedacht:
if(mysql_num_rows($result)>1){
$like_check="select distinct GEBURTORT from ($query)";
$like_result=mysql_query($like_check);
if(mysql_num_rows($like_result)>1){
//ähnliche Geburtsorte
...
}
else{
//gleiche Geburtsorte
}
}
Jedoch bekomme ich nur die Meldung, dass ich einen Fehler in der Syntax
habe. Also wo liegt mein Problem? Ich weiß, dass ich DISTINCT auch schon
beim ersten query hätte dazu nehmen können, jedoch wird dieser erst
noch auf die Anzahl der Datensätze untersucht usw. Deswegen würde ich
das gerne mit der verschachtelten SELECT-Anweisung machen. Kann mir
jemand helfen? Wär super.
Gruß
Gilbert
Re: verschachtelte SELECT-Anweisung und MySQL
am 27.09.2004 02:29:10 von Niels Braczek
Gilbert Mirenque schrieb:
> $query="select TITEL,RUFNAME,FAMNAME,GEBURTORT from tabelle
> where FAMNAME='$famname' and
> RUFNAME='$rufname' and
> GEBURTORT like '$geburtort%'";
> $result = mysql_query($query);
>
> durch das LIKE bei GEBURTORT können mehrere DS im result entstehen.
> jedoch will ich unterscheiden, ob es DS sind, die "ähnliche"
> Geburtsorte haben oder DS die gleiche Geburtsorte haben und sich in
> anderen Attributen unterscheiden, die nicht verglichen werden.
Sortiere doch nach Geburtsort. Dann kannst du beim Einlesen feststellen,
ob sich der Geburtsort ändert.
MfG
Niels
--
Das Senden unbestellter Werbung an diese E-Mail-Adresse ist
gegen eine Aufwandsentschädigung von 250 Euro pro erhaltener
E-Mail gestattet. Rabatte auf Anfrage.
Die Beweislast der Bestellung liegt bei der Werbung versendenen Firma.
Re: verschachtelte SELECT-Anweisung und MySQL
am 29.09.2004 02:17:20 von Gilbert Mirenque
ich habe jetzt einen kleinen workaround bei mir eingebaut. aber es
bleibt eigentlich trotzdem noch die frage, warum obiger query von mir
als syntaktisch falsch gewertet wird. kann mir dazu jemand was erzählen?
vielen dank
Gruß
Gilbert
Re: verschachtelte SELECT-Anweisung und MySQL
am 29.09.2004 03:16:59 von Niels Braczek
Gilbert Mirenque schrieb:
Dadurch, dass du nicht zitierst, muss ich das Posting, auf das du dich
beziehst, öffnen und lesen. Das ist lästig.
Lies und beherzige bitte http://learn.to/quote.
> ich habe jetzt einen kleinen workaround bei mir eingebaut. aber es
> bleibt eigentlich trotzdem noch die frage, warum obiger query von mir
> als syntaktisch falsch gewertet wird. kann mir dazu jemand was
> erzählen? vielen dank
Das wird an
> $query="select TITEL,RUFNAME,FAMNAME,GEBURTORT from tabelle
> where FAMNAME='$famname' and
> RUFNAME='$rufname' and
> GEBURTORT like '$geburtort%'";
> $result = mysql_query($query);
> [...]
> $like_check="select distinct GEBURTORT from ($query)";
liegen. Sieh dir nochmal das Subquery-Kapitel des Manuals an:
http://dev.mysql.com/doc/mysql/en/Subqueries.html
MfG
Niels
BTW: Verwende bitte möglichst korrekte Groß- und Kleinschreibung.
--
> Bitte stelle auch das Plenken (Leerzeichen vor Satzzeichen) ein.
sorry die doofe Frage : Wo stelle ich das ein, habe in den Settings von
Outlook Newsreader nix gefunden
[Klaus Gromann in dclpm]
Re: verschachtelte SELECT-Anweisung und MySQL
am 29.09.2004 11:52:07 von Gilbert Mirenque
Niels Braczek schrieb:
> liegen. Sieh dir nochmal das Subquery-Kapitel des Manuals an:
> http://dev.mysql.com/doc/mysql/en/Subqueries.html
OK danke dir Niels. Das Kapitel hat gereicht. Habe bis jetzt nur das
deutsche Manual gelesen, wo es diese Subquery-Sektion nicht gibt. Es ist
jetzt alles klar.
Gruß
GIlbert