Mais
MySQL - Consulta de atualização baseada em SELECT Query
Preciso verificar (a partir da mesma tabela) se existe uma associação entre dois eventos com base na data e hora.
Um conjunto de dados conterá a data/hora final de certos eventos e o outro conjunto de dados conterá a data/hora inicial para outros eventos.
Se o primeiro evento terminar antes do segundo, eu gostaria de ligá-los.
O que eu tenho até agora é:
SELECT name as name_A, date-time as end_DTS, id as id_A
FROM tableA WHERE criteria = 1
SELECT name as name_B, date-time as start_DTS, id as id_B
FROM tableA WHERE criteria = 2
Então eu juntei-me a eles:
SELECT name_A, name_B, id_A, id_B,
if(start_DTS > end_DTS,'VALID','') as validation_check
FROM tableA
LEFT JOIN tableB ON name_A = name_B
Posso então, com base no meu campo validation_check, executar uma consulta UPDATE com o aninhado SELECT?
461
3
Você pode fazer isso de duas maneiras:
MySQL update join syntax:
Sintaxe ANSI SQL:
Escolhe o que te parecer mais natural.
Espero que isto funcione para ti.
Se alguém está procurando atualizar dados de uma base de dados para outra, não importa qual a tabela que está buscando, deve haver alguns critérios para fazer isso.
Este é melhor e limpo para todos os níveis:
Traaa! Funciona muito bem!
Com o entendimento acima, você pode modificar os campos e "on" critérios para fazer o seu trabalho. Você também pode executar as verificações, depois puxar os dados para a(s) tabela(s) temporária(s) e depois executar a atualização usando a sintaxe acima substituindo os nomes da sua tabela e coluna.
Espero que funcione, se não me avisar. Vou escrever uma pergunta exacta para si.