where句に1つのフレーズを追加するまで、問題なく機能するクエリがあります。私はそのフレーズを 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' )
しかし、これは成功します(1行の違いに注意してください)
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 はどちらも true です。なぜ彼らは異なる結果を生み出すのでしょうか? 私は何が欠けていますか?