我有一个可以正常工作的查询,直到我在 where 子句中添加一个短语。我已将该短语设置为: p.group_size <> 8772663552 荒谬的不平等。
此查询找不到具有相应姓氏的记录的记录: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 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 都是真的。为什么它们会产生不同的结果?我错过了什么?