Doppelte Werte Filtern wenn... [MySQL]

HRGS85

Benutzer
Beiträge
23
Hi zusammen,

ich habe in einer Spalte meine Bestellnummer (increment_id). Diese möchte ich ohne doppelte Werte haben. Dabei soll mir SQL jedoch nur die Zeilen rausnehmen, in denen in der Spalte product_type 'simple' steht.

bsp706f1.jpg [/URL]

Hat da jmd einen Ansatz? Hab gar keinen Plan....

Ich nutze MySQL.

Wäre Klasse wenn jmd was weiß!
 
Zuletzt bearbeitet von einem Moderator:
Werbung:
Hi zusammen,

ich habe in einer Spalte meine Bestellnummer (increment_id). Diese möchte ich ohne doppelte Werte haben. Dabei soll mir SQL jedoch nur die Zeilen rausnehmen, in denen in der Spalte product_type 'simple' steht.

Hat da jmd einen Ansatz? Hab gar keinen Plan....

Ich nutze MySQL.

Wäre Klasse wenn jmd was weiß!

Ist das eine Autoincrement-Spalte? Dann ist das sowieso unique. Die Prüfung auf 'simple' kommt dann in das WHERE. Und jetzt gibst Dir Mühe und schaust Dir an, wie ein Select aufgebaut ist. Du schaffst das.
 
Zuletzt bearbeitet von einem Moderator:
okay also das geht so leider nicht. weil ich einen join drin hab. Also ich joine erst meine sales_flat_order mit der sales_flat_order_item. Deshalb bekomme ich mehrere Zeilen mit der gleichen increment_id, da für eine increment_id in der sales_flat_order_item teilweise mehrere Artikel bestellt wurden und somit mehrere Spalten da sind. Von daher müsste das iwie anders gehen...
 
okay also das geht so leider nicht. weil ich einen join drin hab. Also ich joine erst meine sales_flat_order mit der sales_flat_order_item. Deshalb bekomme ich mehrere Zeilen mit der gleichen increment_id, da für eine increment_id in der sales_flat_order_item teilweise mehrere Artikel bestellt wurden und somit mehrere Spalten da sind. Von daher müsste das iwie anders gehen...

Dann definiere, welche Zeilen und Spalten Du haben willst. Grob geschaut bei Deinen Daten sollte ein Where auf product_type Dir schon unique Werte in der genannten Spalte liefern.
 
Werbung:
Ich hätte da an soetwas gedacht aber ich weiß nicht ob das Sinn macht. Eventuell sollte man das schon in den ursprünglichen Join mit einbauen, den ich aber nicht kenne.
Code:
SELECT    t.*
FROM    urspruenglicher_join t
WHERE    product_type = 'bundle'
OR        product_type = 'simple'
AND NOT EXISTS (    SELECT    1
                    FROM    tabelle
                    WHERE    increment_id = t.increment_id
                    AND        product_type = 'bundle' )
 
Zurück
Oben