Each GROUP BY expression must contain at least one column th

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Each GROUP BY expression must contain at least one column th

Mesaj gönderen conari »

Each GROUP BY expression must contain at least one column that is not an outer reference.

Hatası almaktayım db ayarları 80 den 90 a getirdim.yani 2000 den 2005 getirdim.
aynı cümle 2000 de çalışıyor 2005 de bu hatayı veriyor. :oops:
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
Lost Soul
Üye
Mesajlar: 1064
Kayıt: 01 Nis 2007 02:55
Konum: mekan ANKARA toprak ELAZIĞ
İletişim:

Re: Each GROUP BY expression must contain at least one column th

Mesaj gönderen Lost Soul »

Kod: Tümünü seç

create  table myData(dealerid int ,vehicleid int, myCnt int)
create table logcount(logid int, vendorid int, vid int)


update mydata
set mycnt=(select count(logid)
            from logcount
            where tbl.dealerid=vendorid
            and tbl.vehicleid=vid
            group by dealerid,vehicleid)
FROM mydata tbl,logcount
WHERE tbl.dealerid=logcount.vendorid
AND tbl.vehicleid=logcount.vid

in sql 2005 I get this error message. This works on sql 2000. Why ?

Each GROUP BY expression must contain at least one column that is not an outer reference

Kod: Tümünü seç

UPDATE mydata
SET mycnt = A.LOGCNT
FROM mydata tbl
      INNER JOIN (SELECT vendorid, VID, COUNT(LOGID) LOGCNT FROM logcount GROUP BY vendorid, VID) A
      ON tbl.dealerid=A.vendorid       AND tbl.vehicleid=A.vid
Ref:ExpertsExchange

Kod: Tümünü seç

Compatibility level setting of 80  A GROUP BY clause in a subquery that
references a column from the outer query succeeds.

Compatibility level setting of 90  A GROUP BY clause in a subquery that
references a column from the outer query returns an error as per the SQL
standard.
80 da group by referans alan kullanabilirken 90 da referans alan kullanımı kaldırılıp sabit olması zorunlu kılınmış.
Ref:dbNewsGroups.net
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Each GROUP BY expression must contain at least one column th

Mesaj gönderen conari »

Selam, yakalamıştım olayı ama buraya yazamamıştım.
dediğin gibi subquerylerde gerek kalmamış.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Cevapla