- Xiaomi 17 - még mindig tart
- iPhone topik
- Samsung Galaxy A55 - új év, régi stratégia
- Mobil flották
- Válságmódban a Samsung mobildivíziója
- Samsung Galaxy S25 FE - fenséges, felejthető vagy felesleges?
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Samsung Galaxy S23 Ultra - non plus ultra
- Yettel topik
- Vége a dalnak: nincs több Samsung harmonikamobil
Új hozzászólás Aktív témák
-
nyunyu
félisten
válasz
RedHarlow
#4712
üzenetére
Ezt a Teradata féle joinnal bővített UPDATE szintaxist semelyik másik DB kezelő nem ismeri, nem tudsz így másik tábla alapján updatelni.
Oracle elég körülményesen tud hasonlót, SET+WHERE mögé írt alselecttel, de annak a pontos szintaxisára nem emlékszem, de arra igen, hogy amihez nem talál értéket, ott szimplán NULLlal felülírja a többi sort.

Valami ilyesmi lehetett:
UPDATE t1
SET t1.column=(SELECT column FROM t2 WHERE t2.id=t1.id)
WHERE t1.id IN (SELECT id FROM t2);(Teradata csak a joinnal megtalált sorokat updateli, többit békén hagyja!)
Legtisztább megoldás erre a szabványos MERGE utasítás:
MERGE t1
USING (SELECT id,
column
FROM t2) t2
ON (t2.id = t1.id)
WHEN MATCHED
THEN UPDATE SET t1.column = t2.column;Hmm, még alselect se kell az USING mögé, direktben is mehet a t2, ha a joinon kívül nem kell semmi bonyolultat csinálni vele:
MERGE t1
USING t2
ON (t2.id = t1.id)
WHEN MATCHED
THEN UPDATE SET t1.column = t2.column;
Új hozzászólás Aktív témák
- Sony PS3/PS4/PS5 és kézikonzolok Okosítása és Szoftveres szintű javítása - MÁR 13.00-S PS4 IS!
- iPhone 12 Pro Max 256GB Mobiltelefon
- Részletfizetés. BankMentes. Kamatmentes. Új noblechairs EPIC - ZÖLD 3 év garancia!
- Eredeti DELL 240W töltők (LA240PM160)
- Lenovo Legion Slim 5 Ryzen 7 7840HS 16GB 1000GB RTX 4060 OLED 120Hz 1év garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



