我有一個查詢工作很好,直到我添加一個單一的短語tot他where子句。我已經把這句話設置爲:p.group_size <> 8772663552一個荒謬的不平等。兩個'False'語句具有不同的結果MySQL
查詢失敗找到與相應的最後一個名稱的記錄備案:巴拉蘇布蘭馬尼安
SELECT DISTINCT p.id,
p.last_name,
first_name,
corporate_name,
city,
state,
e.full_name,
type,
l.current_step,
l.current_step_date,
FROM prospect AS p
LEFT OUTER JOIN lettherebelight l
ON p.id = l.prospect_id
LEFT OUTER JOIN employee e
ON p.id_ofproducer = e.id
WHERE p.group_size <> 8772663552
AND type IN ('Prospect', 'Suspect')
AND (last_name LIKE 'Balasubramanian'
OR corporate_name LIKE 'Balasubramanian'
OR first_name LIKE 'Balasubramanian')
但是這一次成功(注意單行差)
SELECT DISTINCT p.id,
p.last_name,
first_name,
corporate_name,
city,
state,
e.full_name,
type,
l.current_step,
l.current_step_date,
FROM prospect AS p
LEFT OUTER JOIN lettherebelight l
ON p.id = l.prospect_id
LEFT OUTER JOIN employee e
ON p.id_ofproducer = e.id
WHERE type IN ('Prospect', 'Suspect')
AND (last_name LIKE 'Balasubramanian'
OR corporate_name LIKE 'Balasubramanian'
OR first_name LIKE 'Balasubramanian')
或者如果我改變從一行p.group_size <> 8772663552至p.ID> 0它工作得很好:
SELECT DISTINCT p.id,
p.last_name,
first_name,
corporate_name,
city,
state,
e.full_name,
type,
l.current_step,
l.current_step_date,
FROM prospect AS p
LEFT OUTER JOIN lettherebelight l
ON p.id = l.prospect_id
LEFT OUTER JOIN employee e
ON p.id_ofproducer = e.id
WHERE p.ID > 0
AND type IN ('Prospect', 'Suspect')
AND (last_name LIKE 'Balasubramanian'
OR corporate_name LIKE 'Balasubramanian'
OR first_name LIKE 'Balasubramanian')
p.group_size <> 8772663552到p.ID> 0均爲真。他們爲什麼會產生不同的結果?我錯過了什麼?
。 。它們都是* false *,所以id始終爲零或小於零?我會認爲他們總是如此。 –
什麼數據類型是p.group_size? – Barmar
如果你得到一個空的結果集或者你得到錯誤,那麼你的意思是什麼「不工作」或者他們是「假」? –