Tengo que actualizar todas las filas de una columna en una tabla. Aquí está mi consulta

dba.stackexchange https://dba.stackexchange.com/questions/29276

  •  31-10-2019
  •  | 
  •  

Pregunta

Entonces mis mesas son

Gente:

People_name(VARCHAR 100), 
People_id (INT, PRIMARY KEY AUTO INCREMENT) 

Pistas:

Track_id(INT PRIMARY KEY), 
People_id_references (int ,Foreign key references People(people_id)), 
Track_title(VARCHAR 100)

Top 100:

artist varchar(100), 
id(int, primary key), 
track_title(varchar100)

Todas las columnas en las tablas anteriores tienen valores, excepto en People_ID_references (esto está en tracks mesa). top100 tiene muchas otras columnas, pero en aras de la claridad no las mencioné, y de ninguna manera está conectado a people o tracks mesas. Los datos de top100 está presente en track y people Tablas, esto se realiza con algunas consultas de inserción. Quiero importar valores de people_id (Está dentro People mesa).

Entonces mi consulta es:

UPDATE tracks 
SET People_id_Reference = (SELECT People_id 
                           FROM People 
                           RIGHT JOIN top100 
                           ON 
                           People_name=top100.artist LIMIT 1) 
                           WHERE People_id_Reference IS NULL;

Pero eso inserta lo mismo people_id en todas las filas de People_id_Reference. ¿Hay alguna otra manera?

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a dba.stackexchange
scroll top