[]
SQL insert into komutunu sırayla nasıl yaptırırım?
Şimdi şu komutla;
INSERT INTO tablom (tarih) select tarih from tablom2
tablom2 'de yer alan verileri tablom'a kopyalıyorum ancak var olan row'lara değil de altına yeni veri olarak ekleniyor. Ben tablonun başından başlayarak mevcut row'lara eklenmesini nasıl sağlarım.
INSERT INTO tablom (tarih) select tarih from tablom2
tablom2 'de yer alan verileri tablom'a kopyalıyorum ancak var olan row'lara değil de altına yeni veri olarak ekleniyor. Ben tablonun başından başlayarak mevcut row'lara eklenmesini nasıl sağlarım.
Mevcut verileri update ile degistirebilirsin ama her row icin id gibi uniq bir degere ihtiyacin olur hepsine ayni tarihi girmeyecesen
- bisorumolacaktı (20.12.18 12:24:19)
eşleşen id ler üzerinden update-join ile halledebilirsin.
örn;
UPDATE T1
SET T1.tarih = T2.tarih
FROM tablom T1
INNER JOIN tablom2 T2 ON T1.Id = T2.Id
örn;
UPDATE T1
SET T1.tarih = T2.tarih
FROM tablom T1
INNER JOIN tablom2 T2 ON T1.Id = T2.Id
- bir bucuk adana (20.12.18 12:29:25)
@bi bucuk adana+1
- datnet (20.12.18 13:27:27)
sen insert komutu kullandığın için alta ekleme yapar.
ancak senin update etmek istediğini anlıyorum.
Eğer öyleyse @bi bucuk adana doğru çözüm.
Ancak var olanlar update olsun, olmayanlar insert olsun dersen MERGE'i araştırman gerek
ancak senin update etmek istediğini anlıyorum.
Eğer öyleyse @bi bucuk adana doğru çözüm.
Ancak var olanlar update olsun, olmayanlar insert olsun dersen MERGE'i araştırman gerek
- €xpolerer (20.12.18 13:38:59 ~ 13:39:38)
bir bucuk adana'nın kodu syntax hatası verdi nedense ama şu şekilde ekleyerek çözüme ulaştım teşekkürler.
UPDATE tablom AS t1
INNER JOIN tablom2 AS t2 ON t1.id = t2.id
SET t1.tarih = t2.tarih
UPDATE tablom AS t1
INNER JOIN tablom2 AS t2 ON t1.id = t2.id
SET t1.tarih = t2.tarih
- goodman (20.12.18 14:22:27)
1