Dưới dạng TableAID
không tồn tại trong TableA
, truy vấn đang sử dụng cột từ TableB
. Do đó, truy vấn giống như:
delete from TableB
where id in (
select TableB.TableAID
from TableA
where GUID = 'fdjkhflafdhf'
)
Vì vậy, về bản chất, nó đang làm:
delete from TableB
where id in (TableAID)
Nếu bạn đang sử dụng các truy vấn phụ, tốt nhất nên đề cập đến tên bảng của bạn khi tham chiếu. SẼ sau đây ném một ngoại lệ:
delete from TableB
where id in (
select TableA.TableAID
from TableA
where TableA.GUID = 'fdjkhflafdhf'
)
Hơn nữa, tôi sẽ sử dụng một bí danh để chúng tôi biết chúng tôi đang đề cập đến truy vấn nào:
delete from TableB
where id in (
select a.TableAID
from TableA a
where a.GUID = 'fdjkhflafdhf'
)