Tabellenschema:Wie legen Sie die Spaltenwerte einiger Zeilen genauso wie die anderen in derselben Tabelle fest?
+----------------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------------+---------------+------+-----+---------+-------+
| name | varchar(10) | YES | MUL | NULL | |
| slno | varchar(20) | YES | | NULL | |
| type | int(2) | YES | | NULL | |
| details | text | YES | | NULL | |
+----------------------+---------------+------+-----+---------+-------+
Name, slno und geben Sie bilden zusammen einen Schlüssel.
Beispieldaten:
+---------+------+------+-------------------------------+
| name | slno | type | details |
+---------+------+------+-------------------------------+
| name1 | 11 | 1 | {"data":["feats1","feats2"] } |
| name1 | 11 | 2 | {"data":["feats1","feats2"] } |
| name1 | 12 | 1 | {"data":["feats5","feats6"] } |
| name1 | 12 | 2 | {"data":["feats5","feats6"] } |
| name2 | 11 | 1 | {"data":["feats3","feats4"] } |
| name2 | 11 | 2 | {"data":["feats3","feats4"] } |
| name2 | 12 | 1 | {"data":["feats7","feats8"] } |
| name2 | 12 | 2 | {"data":["feats10"] } |
+---------+------+------+-------------------------------+
Also im Grunde für jeden Eintrag mit dem Namen 'name1', gibt es einen ähnlichen Eintrag mit demselben slno aber mit name = 'name2'.
Was ich tun möchte, ist Details für Zeilen mit gleichen SLNO und Typ, aber anderen Namen, d. H. Oben Beispiel Datensatz wie unten gesetzt werden. name2 die Details der Zeilen sollten übereinstimmen name1 Zeilen Details, wenn sie gleiche slno und Typ haben.
+---------+------+------+-------------------------------+
| name | slno | type | details |
+---------+------+------+-------------------------------+
| name1 | 11 | 1 | {"data":["feats1","feats2"] } |
| name1 | 11 | 2 | {"data":["feats1","feats2"] } |
| name1 | 12 | 1 | {"data":["feats5","feats6"] } |
| name1 | 12 | 2 | {"data":["feats5","feats6"] } |
| name2 | 11 | 1 | {"data":["feats1","feats2"] } |
| name2 | 11 | 2 | {"data":["feats1","feats2"] } |
| name2 | 12 | 1 | {"data":["feats5","feats6"] } |
| name2 | 12 | 2 | {"data":["feats5","feats6"] } |
+---------+------+------+-------------------------------+
Ich versuchte, aber konnte nicht mit einem Befehl kommen, um das obige Ergebnis auszuführen. Kann mir bitte jemand helfen?
Also slno und Details sollten eine separate Tabelle bilden? – Strawberry
Nein, ich gab die Beispieldaten (2. Tabelle) und wie sie darunter transformiert werden sollten (letzte Tabelle) – user3248186
Wie wählt man den Referenzwert für ein bestimmtes 'slno/type' Paar? Ich meine, warum wählst du den Wert von "name1" anstelle von name2 aus? –