Ist es richtig, dass die Attribute-Zeile nur angelegt werden wenn man aktiv ein Freitextfeld füllt?
Habe 76.000 Detailszeilen aber nur 73.000 Attributezeilen? Keine Varianten vorhanden.
Danke und Gruss
Ist es richtig, dass die Attribute-Zeile nur angelegt werden wenn man aktiv ein Freitextfeld füllt?
Habe 76.000 Detailszeilen aber nur 73.000 Attributezeilen? Keine Varianten vorhanden.
Danke und Gruss
Es müssen nicht immer Attribute da sein
Mhh ok, jetzt weiss ich auch warum mein SQL Script nichts einträgt - Zeile nicht vorhanden.
@Shyim
Hast du eine Idee wie man aus meinem Script eine INSERT IGNORE baut? Mir würde schon ein Schlagwort reichen für eine Googlesuche.
UPDATE s_articles_details AS sad, s_articles_attributes AS saa , s_articles AS sa, mytemptable AS tmp
SET saa.lieferant = 'LIEFERANTENNAME',
sad.instock = tmp.bestand,
sad.laststock = IF(tmp.bestand <= 0,1,0),
sa.laststock = IF(tmp.bestand <= 0,1,0)
WHERE sad.ean = tmp.ean
AND sad.id = saa.articledetailsID
AND sa.id = sad.articleID
Mal eine andere Frage: Warum führst Du vor Deinem Update nicht ein Insert aus und ergänzt die fehlenden Attribut-Datensätze?
Sowas wie:
insert into s_articles_attributes (articledetailsID)
SELECT a.id FROM s_articles a
LEFT JOIN
s_articles_attributes aa
on
a.id = aa.articledetailsID
where
aa.articledetailsID is null
Der Merge müsste alle Datensätze abklappern um zu schauen, ob vorhanden oder nicht, da ist das hier, denke ich, performanter.
Hi @MarcusMay . Ja das habe ich jetzt gemacht, die Query lautet bei mir:
INSERT INTO s_articles_attributes(articledetailsID)
SELECT sad.id FROM s_articles_details AS sad
LEFT JOIN s_articles_attributes AS saa ON sad.id = saa.articledetailsID
WHERE saa.articledetailsID IS NULL
die s_articles lasse ich aber aussen vor weil die id aus s_articles_details genommen wird in s_articles_attributes.