Autor |
Nachricht |
alcopix
Threadersteller
Dabei seit: 27.08.2007
Ort: -
Alter: -
Geschlecht:
|
Verfasst Sa 06.10.2007 04:43
Titel [mySQL] - Subquery mit = |
|
|
Hallo!
Weiß jemand, warum die folgende Subquery nur mit "IN" klappt, nicht aber mit "="?
Code: | $sql = "SELECT * FROM tab1 WHERE id IN (SELECT id FROM tab2 WHERE id = '$id' UNION SELECT id2 FROM tab2 WHERE id = '$id')"; |
Zuletzt bearbeitet von alcopix am Sa 06.10.2007 11:39, insgesamt 2-mal bearbeitet
|
|
|
|
|
Skyw4lker
Dabei seit: 30.08.2004
Ort: Bergisch Gladbach
Alter: 43
Geschlecht:
|
Verfasst Sa 06.10.2007 10:02
Titel
|
|
|
lass mal die hochkommatas um das $id weg, denke deine Spalte id ist vom Datentyp int.
|
|
|
|
|
Anzeige
|
|
|
alcopix
Threadersteller
Dabei seit: 27.08.2007
Ort: -
Alter: -
Geschlecht:
|
Verfasst Sa 06.10.2007 11:34
Titel
|
|
|
Skyw4lker hat geschrieben: | lass mal die hochkommatas um das $id weg, denke deine Spalte id ist vom Datentyp int. |
Klappt leider immer noch nicht. Wie gesagt, mit IN funzt es und jede Query für sich klappt auch. Lediglich wenn ich den Vergleichsoperator "=" einsetze, bekomme ich:
Code: | Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in [...] on line 13 |
Zuletzt bearbeitet von alcopix am Sa 06.10.2007 11:42, insgesamt 1-mal bearbeitet
|
|
|
|
|
choise
Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht:
|
Verfasst Sa 06.10.2007 19:55
Titel
|
|
|
ist der vergleichsoperator bei mysql "=" oder "==" ?! bin mir nich ganz sicher atm, weil
ich mein kleines nachschlagewerk nich bei mir hab
|
|
|
|
|
tacker
Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 43
Geschlecht:
|
Verfasst Sa 06.10.2007 22:58
Titel
|
|
|
choise hat geschrieben: | ist der vergleichsoperator bei mysql "=" oder "==" ?! bin mir nich ganz sicher atm, weil
ich mein kleines nachschlagewerk nich bei mir hab :) |
Bitte das nächste mal vor dem Posten nachschauen, danke. = ist richtig.
Das Problem ist wohl viel eher, dass dein Subquery nicht exakt eine ID zurück gibt, sondern
mehrere. Prüfe das mal, in dem du nur das Subquery ausführst.
Zuletzt bearbeitet von tacker am Sa 06.10.2007 22:58, insgesamt 1-mal bearbeitet
|
|
|
|
|
alcopix
Threadersteller
Dabei seit: 27.08.2007
Ort: -
Alter: -
Geschlecht:
|
Verfasst Sa 06.10.2007 23:34
Titel
|
|
|
tacker hat geschrieben: | choise hat geschrieben: | ist der vergleichsoperator bei mysql "=" oder "==" ?! bin mir nich ganz sicher atm, weil
ich mein kleines nachschlagewerk nich bei mir hab |
Bitte das nächste mal vor dem Posten nachschauen, danke. = ist richtig.
Das Problem ist wohl viel eher, dass dein Subquery nicht exakt eine ID zurück gibt, sondern
mehrere. Prüfe das mal, in dem du nur das Subquery ausführst. |
Genau das war es. Danke dir.
|
|
|
|
|
|
|
|
Ähnliche Themen |
[PHP + mySQL] Kann Fehler in einer mySQL-Phrase nicht finden
[PHP/MySQL] MySQL Error: 1054, falsche Tabelle ausgewählt?
[MySql]Lost connection to MySQL server during query
[PHP / MySQL] MySQL-Funktion gesucht: letzteÄnderungTabelle
BLOB in mysql per php oder mysql einfügen
[php / mysql] Mysql Daten in php als Link ausgeben
|
|