我有下面的SQL代碼:SQL:使用EXISTS()與其他一些命令
SELECT m.email
FROM members as m
WHERE exists
(
select *
from posts as p
where p.email = m.email
)
order by ads desc
我要添加另一份聲明之前, 「存在」,讓我有類似
SELECT m.email
FROM members as m
WHERE
(m.ads<>0)
and
exists
(
select *
from posts as p
where p.email = m.email
)
order by ads desc
但它不起作用,以及ads<>'0'
,ads<>('0')
,m.ads<>0
等
爲什麼你認爲它不工作?
「不工作」我的意思是,當我添加一行'ads <> 0'時,查詢結果沒有變化(就像我沒有輸入這行)。 如果我添加一行'ads = 0'而不是 - 它會給出空的結果,就好像沒有字段的值爲零(實際上確實存在)
定義「不起作用」。你有沒有收到任何錯誤信息? – Phil
然後,您的查詢或數據是錯誤的,您可能完全刪除問題中的'EXISTS'。你是否試圖用_just_'ads <> 0'的條件?將事物縮小到最小的測試用例是一項至關重要的調試技術。 –
聽起來好像沒有'ads == 0' **的記錄**和'posts'中的匹配記錄** – Phil