jimb0p
Erfahrenes Mitglied
Hallo Zusammen,
ich sitze im Moment an einer Java Anwendung wo ich auf eine MSSql Datenbank zugreifen muss. Ich habe eine Tabelle wo Produkte mit Primärschlüssel, Name und Lagerbestand gespeichert sind und eine andere Tabelle wo Attribute hinterlegt sind mit Primärschlüssel von Tabelle 1 für die Zuordnung, cName für den Attributenname und cValue der noch einen Wert enthalten kann. Ich benötige nun alle Produkte die nicht cName "nosearch" haben. Das klappt soweit auch, nur da es insgesamt fünf Attribute gibt, bekomme ich immer vier mal das gleiche Produkt. Ich benötige es aber nur einmal. Wie genau kann ich den Code anpassen damit ich es ohne Duplikate bekomme?
kArtikel ist der Primärschlüssel. Ich möchte im nachhinein dann alle Produkte die nicht "nosearch" haben "nosearch" setzen, nur die dürfen dann nicht erneut auftauchen, da ich ja nach dem Lagerbestand 0 auch überprüfe. Ich hoffe ich konnte es deutlich ausdrücken und freue mich über jede Hilfe.
ich sitze im Moment an einer Java Anwendung wo ich auf eine MSSql Datenbank zugreifen muss. Ich habe eine Tabelle wo Produkte mit Primärschlüssel, Name und Lagerbestand gespeichert sind und eine andere Tabelle wo Attribute hinterlegt sind mit Primärschlüssel von Tabelle 1 für die Zuordnung, cName für den Attributenname und cValue der noch einen Wert enthalten kann. Ich benötige nun alle Produkte die nicht cName "nosearch" haben. Das klappt soweit auch, nur da es insgesamt fünf Attribute gibt, bekomme ich immer vier mal das gleiche Produkt. Ich benötige es aber nur einmal. Wie genau kann ich den Code anpassen damit ich es ohne Duplikate bekomme?
SQL:
SELECT TOP 10 *
FROM TabellennameProdukte A
LEFT JOIN TabellennameAttribute B
ON A.kArtikel = B.kArtikel
WHERE (B.cName != 'nosearch')
AND A.Lagerbestand = 0
ORDER BY A.kArtikel DESC;
kArtikel ist der Primärschlüssel. Ich möchte im nachhinein dann alle Produkte die nicht "nosearch" haben "nosearch" setzen, nur die dürfen dann nicht erneut auftauchen, da ich ja nach dem Lagerbestand 0 auch überprüfe. Ich hoffe ich konnte es deutlich ausdrücken und freue mich über jede Hilfe.
Zuletzt bearbeitet von einem Moderator: