Viac na
MySQL - UPDATE dotaz na základe SELECT dotazu
Potrebujem skontrolovať (z tej istej tabuľky), či existuje asociácia medzi dvoma udalosťami na základe dátumu a času.
Jeden súbor údajov bude obsahovať čas ukončenia určitých udalostí a druhý súbor údajov bude obsahovať čas začiatku iných udalostí.
Ak sa prvá udalosť skončí pred druhou udalosťou, potom by som ich chcel prepojiť.
Zatiaľ mám k dispozícii tieto údaje:
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
Potom sa k nim pripojím:
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
Môžem potom na základe môjho poľa validation_check spustiť dotaz UPDATE s vnoreným SELECT?
461
3
V skutočnosti to môžete urobiť dvoma spôsobmi:
MySQL update join syntax:
ANSI SQL syntax:
Vyberte si tú, ktorá sa vám zdá najprirodzenejšia.
Dúfam, že vám to bude fungovať.
Ak sa niekto snaží aktualizovať údaje z jednej databázy do druhej bez ohľadu na to, na ktorú tabuľku sa zameriava, musia na to existovať nejaké kritériá.
Toto je lepšie a prehľadnejšie pre všetky úrovne:
Traaa! Funguje to skvele!
S vyššie uvedeným porozumením môžete upraviť nastavené polia a "on" kritériá na vykonanie vašej práce. Môžete tiež vykonať kontroly, potom vytiahnuť údaje do dočasnej tabuľky (tabuliek) a potom spustiť aktualizáciu pomocou vyššie uvedenej syntaxe, pričom nahradíte názvy tabuliek a stĺpcov.
Dúfam, že to funguje, ak nie, dajte mi vedieť. Napíšem vám presný dotaz.