0

类似这样的问题:

从链接列可以为空的两个表中选择

column1tab1 column2tab1 order_number product amount
 xx            yy            123      p1      2
 xx            yy            456      p3      4
 xx            yy            NULL    NULL    NULL
 xx            yy            789      p2      1
 etc...

海报的输出就像上面一样。但是,当我添加 WHERE product= 'p1' 或 WHERE product= NULL 时,两者都返回一个空集。最后,我想拥有

SELECT            *
FROM              `t1`
  LEFT OUTER JOIN `t2`
  ON              (`t1`.`id` = `t2`.`id2`)
WHERE             `t2`.`product` = NULL
  AND             `t2`.`product` <> 'p1'

我做错了哪一部分?加入还是在哪里?或者是其他东西?

4

3 回答 3

2

代替

`t2`.`product` = NULL

`t2`.`product` IS NULL

看这里

于 2012-06-25T07:50:43.213 回答
1

t2.product = NULL总是假的。改为使用t2.product IS NULL

于 2012-06-25T07:48:57.743 回答
0

如果 t2.product 为 null,则它始终与字符串“p1”不同。我不认为需要 and 。

于 2012-06-25T07:50:19.383 回答