MySQL - UPDATE query gebaseerd op SELECT query
Ik moet (vanuit dezelfde tabel) controleren of er een verband is tussen twee gebeurtenissen op basis van datum-tijd.
Eén set gegevens bevat de einddatum van bepaalde gebeurtenissen en de andere set gegevens bevat de begindatum van andere gebeurtenissen.
Als de eerste gebeurtenis eerder eindigt dan de tweede, dan wil ik ze aan elkaar koppelen.
Wat ik tot nu toe heb is:
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
Dan voeg ik me bij hen:
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
Kan ik dan, op basis van mijn validation_check veld, een UPDATE query uitvoeren met de SELECT genest?
461
3
Je kunt dit op twee manieren doen:
MySQL update join syntax:
ANSI SQL syntaxis:
Kies degene die voor jou het meest natuurlijk lijkt.
Hopelijk werkt dit voor jou.
Als iemand gegevens wil bijwerken van de ene database naar de andere, ongeacht de tabel waarop hij zich richt, moet er een criterium zijn om dat te doen.
Deze is beter en schoon voor alle niveaus:
Traaa! Het werkt geweldig!
Met het bovenstaande begrip, kun je de set fields en "on" criteria aanpassen om je werk te doen. U kunt ook de controles uitvoeren, dan de gegevens in de tijdelijke tabel(len) trekken en dan de update uitvoeren met de bovenstaande syntaxis en uw tabel- en kolomnamen vervangen.
Hopelijk werkt het, zo niet laat het me weten. Ik zal een exacte query voor je schrijven.