Sql İnner Join İle Update
-
murid ve murideler elimde bir sql kod var değer verince çalışıyor ama diğer tablonun toplamını al dediğimde çalışmıyor hata veriyor
sıkıntı nerede diğer tablodaki verileri toplatıp nasıl güncelleyebilirim.
update musteri set borctop=(sum(ucret)) Select musteri.id As DRCs1, musteri.borctop As btop, servis.ucret As ucret From musteri inner Join servis On (musteri.id = servis.cariid)
ucret sütunu bulunamadı hatası veriyor oraya sayı eklediğimde de sağlam çalışıyor
bu kodu nasıl düzeltebilirim
-
saçmalamış olabilirm ama left join le dener misin
-
Yapmadan önce yedek al hocam
update musteri set borctop=(Select sum(servis.ucret) From musteri inner Join servis On (musteri.id = servis.cariid))
İle yapabilirsin
EmQceR tarafından 17/Oca/19 14:26 tarihinde düzenlenmiştir -
yolbulucu bunu yazdı
saçmalamış olabilirm ama left join le dener misin
malesef onlada denedim aynı hatayı veriyor ama çıktıyı veriyor fakat o değerle güncelelemiyor
-
EmQceR bunu yazdı
Yapmadan önce yedek al hocam
update musteri set borctop=(Select sum(servis.ucret) From musteri inner Join servis On (musteri.id = servis.cariid))
İle yapabilirsin
eyvallah olduda yalnız hepsini topluyor benim ihtiyacım musteri id ile servis cariid teki aynı olanları toplaması
-
Hocam aşağıdaki gibi dener misin
UPDATE a SET
a.borctop=SUM(b.ucret)
FROM musteri a WITH(NOLOCK) INNER JOIN servis b WITH(NOLOCK) ON a.id=b.cariid
NOT: MSSQL için hazırlanmıştır
-
Yazilimci bunu yazdı
Hocam aşağıdaki gibi dener misin
UPDATE a SET
a.borctop=SUM(b.ucret)
FROM musteri a WITH(NOLOCK) INNER JOIN servis b WITH(NOLOCK) ON a.id=b.cariid
NOT: MSSQL için hazırlanmıştır
Msg 157, Level 15, State 1, Line 3
An aggregate may not appear in the set list of an UPDATE statement.malesef çalışmadı
-
juniourfalcon bunu yazdıYazilimci bunu yazdı
Hocam aşağıdaki gibi dener misin
UPDATE a SET
a.borctop=SUM(b.ucret)
FROM musteri a WITH(NOLOCK) INNER JOIN servis b WITH(NOLOCK) ON a.id=b.cariid
NOT: MSSQL için hazırlanmıştır
Msg 157, Level 15, State 1, Line 3
An aggregate may not appear in the set list of an UPDATE statement.malesef çalışmadı
Hocam tahminimce bu sorgu sana sürekli lazım olacak. Şöyle yapabilirsin. Aşağıdaki gibi bir view yap.
create view ToplamHesapla
as
SELECT a.id, SUM(b.ucret) as UCRET, a.borctop FROM musteri a WITH(NOLOCK) INNER JOIN servis b WITH(NOLOCK) ON a.id=b.cariid
update ToplamHesapla set borctop=UCRET
bu sorguyu çalıştırdın mı istediğin kesin olur. Şuan detaylı bakamıyorum
-
juniourfalcon bunu yazdıEmQceR bunu yazdı
Yapmadan önce yedek al hocam
update musteri set borctop=(Select sum(servis.ucret) From musteri inner Join servis On (musteri.id = servis.cariid))
İle yapabilirsin
eyvallah olduda yalnız hepsini topluyor benim ihtiyacım musteri id ile servis cariid teki aynı olanları toplaması
Yedek alarak bunu da dener misin
Update musteri inner join servis on musteri.id = servis.cariid set musteri.borctop = sum(servis.ucret)
-
EmQceR bunu yazdıjuniourfalcon bunu yazdıEmQceR bunu yazdı
Yapmadan önce yedek al hocam
update musteri set borctop=(Select sum(servis.ucret) From musteri inner Join servis On (musteri.id = servis.cariid))
İle yapabilirsin
eyvallah olduda yalnız hepsini topluyor benim ihtiyacım musteri id ile servis cariid teki aynı olanları toplaması
Yedek alarak bunu da dener misin
Update musteri inner join servis on musteri.id = servis.cariid set musteri.borctop = sum(servis.ucret)
yok kabul etmiyor inner join başta kabul etmiyor
-
en sonunda çözdüm eğer birisine daha lazım olursa kodu vereyim
Update musteri set borctop = (select sum(servis.ucret)from servis where cariid=musteri.id) from musteri inner join servis on musteri.id = servis.cariid
