Giải đáp Truy vấn SQL

sql

(Nobita) #1

Em có 2 bảng như sau: em muốn đưa ra , họ, tên lót và tên cùng với số lượng nhân thân của mỗi sinh viên:

Em truy vấn thế này thi được :

SELECT HONV,TENNV,TENLOT, COUNT(*) FROM dbo.NHANVIEN,dbo.THANNHAN WHERE MANV = MA_NVIEN GROUP BY dbo.NHANVIEN.MANV,HONV,TENNV,TENLOT

Nhưng em thắc mắc là tại sao em làm như thế này lại không chạy:

SELECT HONV,TENNV,TENLOT, COUNT(*) FROM dbo.NHANVIEN,dbo.THANNHAN WHERE MANV = MA_NVIEN GROUP BY dbo.NHANVIEN.MANV

Mọi người giúp em với ạ, em cám ơn.


(Nguyen Kien) #2

Thông báo lỗi nó nói gì vậy bạn ??? :slight_smile:


(Bò Lúc Lắc) #3

SELECT HONV,TENNV,TENLOT, COUNT(*) FROM dbo.NHANVIEN,dbo.THANNHAN WHERE MANV = MA_NVIEN GROUP BY dbo.NHANVIEN.MANV,HONV,TENNV,TENLOT

SELECT HONV,TENNV,TENLOT, COUNT(*) FROM dbo.NHANVIEN,dbo.THANNHAN WHERE MANV = MA_NVIEN GROUP BY dbo.NHANVIEN.MANV

Chỉ được select những column đã group by


(Nobita) #4

em cám ơn ạ…!


(Nguyễn Việt Đức) #5

khi có lỗi xảy ra bạn nên đọc dòng báo lỗi. Cái bạn hỏi ngay dòng báo lỗi nó đã tl cho bạn mà :smiley:


(rogp10) #6

Câu 2 dòng select thay {cột} bằng {max(cột)} thì vẫn chạy tốt :smiley: group by nhiều quá thì nó phải tạo ra bảng phụ để sort rất lag.


83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?