Như mọi khi, sẽ có một lời giải thích hợp lý cho sự ngạc nhiên của tôi, nhưng đến lúc đó ....sql studio quản lý server 2008 không kiểm tra cú pháp truy vấn của tôi
Tôi có truy vấn này
delete from Photo where hs_id in (select hs_id from HotelSupplier where id = 142)
chỉ thực hiện tốt (sau này tôi phát hiện thấy toàn bộ bảng ảnh trống)
nhưng điều lạ: không có trường hs_id
trong HotelSupplier, nó được gọi là hs_key
!
Vì vậy, khi tôi thực hiện phần cuối cùng
select hs_id from HotelSupplier where id = 142
riêng (chọn một phần của truy vấn với chuột và nhấn F5), tôi nhận được một lỗi, nhưng khi tôi sử dụng nó trong mệnh đề in
, nó không!
Tôi tự hỏi đây có phải là hành vi bình thường không?
+1 - Chỉ muốn chỉ ra một cách thực hành tốt trong ví dụ của bạn - bao gồm tên bảng cho mỗi cột (hai phần số nhận dạng) trong suốt truy vấn của bạn. Thực hành tốt nói chung, thực hành vô giá trong các báo cáo xóa! –
Cảm ơn, tôi không biết điều đó. Mặc dù nó là lạ mặc dù, rằng (trong phiên bản đơn giản của bạn cũng) notn-hiện tại 'chọn Photo.hs_id' không tạo ra một lỗi – Michel
@Michel - Nó không phải là không tồn tại. Nó được coi là truy vấn con tương quan và được đánh giá cho mỗi hàng bằng giá trị được truyền vào từ truy vấn bên ngoài. –