[SQL] Problem bei der Selektierung von Datensätzen

Steamhammer

Grünschnabel
Hallo, ich habe ein Problem, das bestimmt für jemanden mit etwas Ahnung ziemlich leicht zu lösen ist. Wäre dankbar wenn mir jemand etwas auf die Sprünge helfen könnte.

Ich habe eine Tabelle die folgendermassen aufgebaut ist:
SN Lid Produktexttype Text
4995 de HandbH bei Anlieferung zerlegt
4995 de IdeenH bei Anlieferung zerlegt
4995 de HandbN1 bei Anlieferung zerlegt
4995 de IdeenN1 bei Anlieferung zerlegt

Datensätze mit gleicher "SN" werden dem gleichen Produkt zugeordnet, aber erscheinen in verschiedenen Publikationen

(Produktexttypen). Nun möchte ich folgendes machen. ich möchte alle Datensätze haben die als Produktexttype "IdeenH" haben,

gleichzeitig aber kein "HandbH" haben bei der zugehörigen SN. D.h. also, wenn einer SN kein "HandbH" zugeordnet ist, möchte ich nur den zu der SN zugeordneten Datensatz der als Produkttexttype "IdeenH" stehen hat. Alles andre is unwichtig.

Mein Problem ist, das ich es nur schaffe so zu selektieren das ich alle "IdeenH" Datensätze erhalte. ;)
 
Also wenn ich dich richtig verstanden habe dann musst du einfach nur noch
PHP:
AND Produkttexttyp != "HandbH"
hinter der anderen Bedingung anfügen.

Ansonsten musst du es mir noch ein bisschen genauer erklären...
 
ne das funktioniert so nicht, aber danke für die hilfe :)


also um es etwas breiter zu treten:


ich habe verschiedene Produkttexttypen (HandbH und IdeenH, die für die Zurordnung der Datensätze/Texte zu den einzelnen Publikationen zuständig sind), jedem Datensatz ist ein Text zugeordnet. Es gibt einen text bei HandbH und IdeenH und das für jede SN. Die SN ist sowas wie eine Produknummer. Über diese Nummer können die Texte den einzelnen Produkten zugeordnet werden.

Mein Problem ist nun das ich gerne alle Productsns haben würde, die als Produkttexttype IdeenH haben, aber gleichzeitig kein Produkttextype HandbH zugeordnet haben.

Ich hoffe das es nun etwas deutlich geworden ist.

P.S.:
Mein select sieht folgendermassen aus:

SELECT *, ProductTextType
FROM ProductText
WHERE (NOT (ProductTextType = N'HandbH'))AND(NOT(ProductTextType = N'IdeenH'))

Momentan gibt er mir quasi alles zurück wo kein HandbH und kein IdeenH hat, ziel ist aber das er mir nur jedes IdeenH zurückgibt wo kein HandbH zugeordnet ist.
 
Hallo Steamhammer,

Heissa, ist das kompliziert (erklärt?;))...
Wenn du nicht gerade mySQL unter 4.1 haben solltest, müsstest Du es so machen können:
PHP:
SELECT * FROM ProductText
WHERE ProductTextType = N'IdeenH' 
AND sn NOT IN 
(SELECT DISTINCT sn FROM WHERE ProductTextType = 'HandbH')

Wobei man natürlich möglichst nicht SELECT * schreiben sollte...
 
Zurück