nguyenacc_audit
A demo is worth a thousand words
- Tham gia
- 3/7/18
- Bài viết
- 37
- Được thích
- 22
- Giới tính
- Nam
- Nghề nghiệp
- Anh nghèo không có môtô, Chỉ có xe đạp thô sơ nhất làng.
Nhờ Anh/Chị giúp em về lỗi trong câu truy vấn thứ 2 ( Hình đính kèm) với ạ.
Cấu trúc của các bảng:
1. KHACHHANG (MAKH, HOTEN, DCHI, SODT, NGSINH, DOANHSO, NGDK)
2. HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA)
View attachment 245429
Em cảm ơn ạ,
SELECT kh.makh, kh.hoten
FROM khachhang kh
WHERE EXISTS (SELECT 0 FROM HOADON hd WHERE kh.makh = hd.makh and hd.NGHD = '2007-01-01')
Ở cung trăng mới rớt xuống hả.cái này sao khong dung join
Anh xem hít to ri sẽ biết địa chỉ.Ở cung trăng mới rớt xuống hả.![]()
Tôi biết. Nếu tôi không biết thì tôi đã coi như là người không có kiến thức chen vào nói chuyện tầm xàm.Anh xem hít to ri sẽ biết địa chỉ.![]()
Đã xem bài #1 chưa?thì các bác trả lời rồi.
Còn tôi thấy có thể dùng được join câu truy vấn
Nhờ Bác em hiểu ra vấn đề rồi ạ, em cũng mới tập tành nên nhiều chỗ còn chưa biết. Cảm ơn bác!Tôi chả biết bạn muốn làm cái gì.
Nếu chỉ sửa cho hết lỗi thì thay dấu = với IN
Giải thích: dấu = chỉ so sánh được khi câu truy vấn con (subquery) trả về 1 trị. Câu truy vấn con của bạn có thể trả về nhiều trị (mỗi record được select là 1 trị) thì bạn phải cho nó tìm trong ấy với từ khoá IN
Lấy cái nội dung lỗi dịch sang tiếng Việt
"sql subquery returned more than 1 value" thì sẽ ra giống bạn gì ở #3 đã giải thích.
Đề bài có thể sẽ là: Tìm khách hàng có phát sinh hóa đơn ngày '01/01/2007'
Theo như mệnh đề select ở #1 cho thấy không cần sử dụng bảng HOADON trong mệnh đề FROM
Vậy ngoài cách bạn gì ở #3 hướng dẫn thì câu lệnh 2 có thể sửa thành như này cho vui
Mã:SELECT kh.makh, kh.hoten FROM khachhang kh WHERE EXISTS (SELECT 0 FROM HOADON hd WHERE kh.makh = hd.makh and hd.NGHD = '2007-01-01')
Cảm ơn anh, em hiểu vấn đề rồi ạ. ^^Trong cái subquery của câu thứ 2 nó trả về nhiều MAKH, nhiều số HĐ vì sẽ có nhiều hoá đơn cùng ngày '1/1/2007' -> báo lỗi.
Thớt cũng biết vậy....
Còn tôi thấy có thể dùng được join câu truy vấn