sql Abfrage Problem

S

starfoxfs

Hi zusammen,

ich habe mal wieder ein Problem mit einer Mysql Abfrage und zwar:

PHP:
$sql = "SELECT NPL, NPLBLK, HMODTYP FROM ".$sqltab2." WHERE HMODTYP = '$mdlidkey' AND NPL = '$bildcode' ORDER BY id";
$result = $db->query($sql)or die(mysql_error());
while ($modell = $db->fetcharray($result))
{

$alt = mysql_fetch_array(mysql_query("SELECT nplblkedit, XPLBLK FROM ".$sqltab4." WHERE NPL = '" .$modell["NPL"]. "' AND NPLBLK = '" .$modell["NPLBLK"]."' ORDER BY id"))or die(mysql_error());
}

Ich möchte die obere und untere Abfrage zusammenfassen

PHP:
$sql = "SELECT * FROM ".$sqltab2."
LEFT JOIN ".$sqltab2." ON (".$sqltab4.".NPL = ".$sqltab2.".NPL AND ".$sqltab4.".NPLBLK = ".$sqltab2.".NPLBLK)
WHERE ".$sqltab2.".HMODTYP='$mdlidkey'";

soweit war ich schon nur kommt dann die Fehlermeldung Not unique table/alias
 
Ok ich sag mal was ich machen will.

Und zwar $sqltab4 sollen alle Teile ausgelesen wo NPL einen bestimmten Wert hat.
ist einfach:

PHP:
SELECT bild, pos, teile FROM ".$sqltab4." WHERE NPL = '$wert'

Damit habe ich alle Teile und Bilder ausgelesen.

Bild = 1

Pos1 Teil1
Pos2 Teil2
Pos2 Teil3
Pos3 Teil4


So nun wirds schwieriger

PHP:
SELECT * FROM ".$sqltab4." INNER JOIN ".$sqltab3." ON ".$sqltab3.".HPARTPLBLK = ".$sqltab4.".HPARTPLBLK WHERE ".$sqltab3.".HMODTYP = '$wert2'

Hiermit lese ich aus welche Teile explizit für dieses Modell sind .

Bild1 Teil 2 ist korrekt.

So und nun muss ich vergleichen was korrekt ist und was nicht bei Bild 1 ist Teil2 korrekt bei aber Teil3 nicht also muss Teil3 was ja auch an Pos2 steht nicht ausgelesen werden bzw rausgelöscht werden.

Wie muss nun die 3te Abfrage aussehen und was kann ich hier zusammenfassen ?
 
Zurück