Jump to content

Produkt Variationen/Attribute aus datenbank auslesen


Recommended Posts

Kann mir jemand helfen, bin nicht so bewandert mit mysql : 

​Ich habe viele Produkte (10 000) welche alle mit verschiedenenn Attributen/Variationen versehen sind. 

​Ich müsste per SQL Abfrage alle Produkte mit einer bestimmten id_attribute_group und dazugehöriger id-attribute herausfiltern und für diese Produkte den Preis mit 5 multiplizieren. 

 

Habs selber probiert aber nicht hinbekommen. Vielleicht kann mir jemand von euch weiterhelfen. 

 

Mein Ansatz: 

​SELECT *FROM `***.product` WHERE `id_attribute_group`=1 & ´id_attribute`=15

 

und das umschreiben vom Preis noch dazu . 

Vielen Dank im Vorraus 

Link to comment
Share on other sites

kann mit dem post leider nichts anfangen.

Bin momentan soweit:

kann alle Produkte mit der variante auslesen :
 

SELECT * FROM `ps_layered_product_attribute` WHERE `id_attribute`=15

und ich kann per UPDATE den price ändern :

UPDATE `ps_product` SET price=price*5
 

aber ich bringe es nicht zusammen dass er aus der ersten tabelle die Produkte auswählt und bei denen dann den Preis ändern . sprich soetwas in der art:

UPDATE `ps_product` SET price=price*5

 
WHERE `ps_layered_product_attribute`.`id_attribute`=15
 
da fehlt mir die sql erfahrung


 

 

Link to comment
Share on other sites

Ja denke auch dass es mit update geht:

UPDATE ps_product
SET price=price*5
WHERE
ps_layered_product_attribute.id_attribute=15

 

nun sucht er aber in der tabelle ps_product nach ps_layered_product_attribute.id_attribute=15

 

das findet er in der tabelle natürlich nicht(da der wert in einer anderen tabelle steht)

ERROR:
 

MySQL meldet: dot.gif

#1054 - Unknown column 'jan_layered_product_attribute.id_attribute' in 'where clause'

 

wie kann ich der datenbank sagen dass in der anderen tabelle gesucht wird

 

Link to comment
Share on other sites

Man muss dazu einen JOINED UPDATE schreiben. D.h. die tabelle ps_product muss einen Join auf die Attribut-Tabelle machen um die relevanten Produkte zu filtern und den Update nur auf dieser Menge durchzuführen. Ist eher SQL für Fortgeschrittene.

 

Noch ein Hinweis:

Die Tabelle ps_layered_product_attribute ist für den Join die falsche Tabelle. Diese Tabelle ist ein Zwischenspeicher für die Facettennavigation und für diesen Fall der falsche Aufhänger.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...