2017-11-06 3 views
-1

Jetzt habe ich diese 2 Tische:SQL Legen Sie einen ausgewählten Wert basierend auf aktuellen Spaltenwert

table : user 
+----+-------------+------+ 
| id | shops_theme | name | 
+----+-------------+------+ 

table : shop 
+----+------+---------+ 
| id | link | user_id | 
+----+------+---------+ 

Benutzer mehrere Geschäfte haben kann.

Jetzt haben alle Geschäfte des Benutzers ein Thema. Ich möchte es ändern, damit alle Geschäfte ihr eigenes Thema haben können.

table : user 
+----+------+ 
| id | name | 
+----+------+ 

table : shop 
+----+------+---------+-------+ 
| id | link | user_id | theme | 
+----+------+---------+-------+ 

Wie speichere ich das aktuelle Shop-Thema des Benutzers. Kann ich dafür ein magisches SQL schreiben oder muss ich ein paar Skripte schreiben?

Ich dachte an so etwas wie:

  1. die theme Spalte auf der
  2. einige magische Insert SQL shop Tabelle erstellen, die jedes Geschäft bevölkern damit shops_theme Benutzers ist
  3. die shops_theme von user löschen.

Ich brauche Hilfe bei (2) :)

Antwort

4

Für Ihren Schritt 2 Sie können mit für bestehende Shop-Reihe Update beitreten Update verwenden, um benutzerbezogene

update shop 
inner join user on user.id = shop.user_id 
set shop.theme = user.shop_theme 
+0

Verdammt, du hast recht, thx . – Keloo

+0

@Keloo gut, wenn meine Antwort richtig ist, bitte markieren Sie es als akzeptiert ... siehe hier http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – scaisEdge

Verwandte Themen