MySQL加入问题

rob*_*lls 0 mysql sql

这个SQL怎么了?它应返回结果但不返回任何结果

SELECT `pid` 
  FROM `products` 
  LEFT JOIN `prods_to_features` 
    ON (`ptf_pid` = `pid`) 
 WHERE (   `ptf_id` = '66' 
        OR `ptf_id` = '67'
       ) 
   AND (`ptf_id` = '76')
Run Code Online (Sandbox Code Playgroud)

是否不可能在左连接中使用表的第二个where子句?

Mar*_*ams 7

看看你的WHERE子句.

你不能同时拥有一个价值(66 OR 67) AND 76.每个行都将为表达式返回false,因此不会返回任何行.


Pet*_*ang 5

该问题与您的加入无关.

你检查一下

(`ptf_id` = '66' OR `ptf_id` = '67') AND (`ptf_id` = '76')
Run Code Online (Sandbox Code Playgroud)

这是一样的

   (`ptf_id` = '66' AND `ptf_id` = '76' )
OR (`ptf_id` = '67' AND `ptf_id` = '76')
Run Code Online (Sandbox Code Playgroud)

这意味着什么,ptf_id = 66 = 76或者ptf_id = 67 = 76哪个,不太可能.

  • 对于我们这一代的计算机来说,这不是一件容易的事.量子计算可能是有可能的;) (2认同)