Seite 1 von 1

mysql inner join problem

Verfasst: 13.01.2011, 09:55
von Deathcore
Hall Zusammen,

ich habe 2 Tabellen

Tabelle1
ID
Name

Tabelle2
ORDER_ID
STATUS


ich benötige nun alle
IDs, welche ebenfalls in ORDER_ID vorkommen sowie den STATUS "OK" haben

Das müsste doch folgendes sein

Code: Alles auswählen

$result = mysql_query("SELECT Tabelle1.ID FROM Tabelle1 INNER JOIN Tabelle2 ON Tabelle1.ID = Tabelle2.ORDER_ID AND Tabelle2.STATUS ='OK'");

es funktioniert aber nicht!!!!

kann mir wer einen Tipp geben? Bin kurz vorm :bad-words:

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Verfasst: 13.01.2011, 10:37
von Synonym
Wie wäre es, wenn Du das "AND" einfach mal durch ein "WHERE" ersetzt?

Verfasst: 13.01.2011, 10:44
von Deathcore
ne, ändert leider auch nichts.

hier nochmal der komplette Ausschnitt:

Code: Alles auswählen

$result = mysql_query("SELECT Tabelle1.ID FROM Tabelle1 INNER JOIN Tabelle2 ON Tabelle1.ID = Tabelle2.ORDER_ID AND Tabelle2.STATUS ='OK'");	 


for&#40;$i=0; $i<mysql_num_rows&#40;$result&#41;; $i++&#41;
&#123;
	$Daten = mysql_fetch_assoc&#40;$result&#41;;

	$Spalte&#91;&#93; = str_replace&#40;"\"", "\"\"", $Daten->Name&#41;;
&#125;

Verfasst: 13.01.2011, 10:44
von DeeJay
Hi,

wie wäre dies:
SELECT a.ID FROM Tabelle1 AS a, Tabelle2 AS b WHERE a.ID=b.ORDER_ID AND b.STATUS='OK';

Verfasst: 13.01.2011, 10:46
von DeeJay
Deathcore hat geschrieben:ne, ändert leider auch nichts.

hier nochmal der komplette Ausschnitt:

Code: Alles auswählen

$result = mysql_query&#40;"SELECT Tabelle1.ID FROM Tabelle1 INNER JOIN Tabelle2 ON Tabelle1.ID = Tabelle2.ORDER_ID AND Tabelle2.STATUS ='OK'"&#41;;	 


for&#40;$i=0; $i<mysql_num_rows&#40;$result&#41;; $i++&#41;
&#123;
	$Daten = mysql_fetch_assoc&#40;$result&#41;;

	$Spalte&#91;&#93; = str_replace&#40;""", """", $Daten->Name&#41;;
&#125;
Wenn Du auf $Daten->Name zugreifen möchtest, musst Du auch "Name" rausholen:
SELECT a.ID,a.Name FROM Tabelle1 AS a, Tabelle2 AS b WHERE a.ID=b.ORDER_ID AND b.STATUS='OK';

Verfasst: 13.01.2011, 11:00
von Deathcore
jaaa ich habs gesehen :)

das sind die kleinen Fehlerlein


Vielen Dank für die Tipps.

Ich hab natürlich aus "mysql_fetch_assoc" "mysql_fetch_object"
gemacht

Sowie aus "SELECT Tabelle1.ID" "SELECT Tabelle1.*"

Da ich natürlich die anderen Felder auch abfragen muß.

Vielen Dank für die Unterstützung :)