これが私のテーブルの関連する列です
bia_panels(id, sign_id, value, project_id)bia_clients(id, name)bia_projects(id, name, client_id, city_id)bia_cities(id, name)
とと の値が空白ではないところに を更新しようとしてbia_panels.project_idいます もちろん、そこに到達するには複数の結合を使用する必要がありますbia_projects.idbia_panels.value = bia_clients.namepanels.project_id =000
-- UPDATE
SELECT * FROM
`bia_panels` AS t1
JOIN bia_clients AS t2
ON t1.value = t2.name
JOIN bia_projects AS t3
ON t2.id = t3.client_id
-- SET t1.project_id = t3.id
-- WHERE t1.value<>'' AND t1.project_id = '000'
WHERE t1.value <>''
問題は、これが正しい結果を与えていないことです (プロジェクト ID が結合のどこかで正しくないため、複数の結果が返されるため、それらは壊れます
選択部分を正しく取得できたら、更新を使用できることを知っています
たとえば、value=client.nameすべてが同じプロジェクト ID ではない複数のパネルが存在する場合があります。