php - JOIN 和 ON 子句(NULL 值)

标签 php mysql join

我有两张 table

tableA (id,randomNumber) (2,1),(3,5),(3,2),(6,0),(8,0),...
tableB (id,randomNumber2) (0,2),(1,3),(2,0),(4,2)...

现在我想从两个表中获取 ID、randomnumber 和 randomnumber2,其中 ID IN (0,1,2,3)。

所以应该返回:

(2,1), (3,5), (3,2), (0,2), (1,3), (2,0) 

我尝试使用 JOIN 和 LEFT JOIN 进行构造。

问题是当 ON 子句 (JOIN tableB b on a.id=b.id) 不正确时,它会为 id 返回 NULL。但我还需要知道 NULL 值。例如,对于 tableB,它将返回 (NULL,2) 作为第一个结果。

(2,1), (3,5), (3,2), (NULL,2), (NULL,3), (2,0) 

我怎样才能得到 NULL 值,我应该使用其他东西吗?

最佳答案

JOIN 在表具有相关数据时使用。在这里,2 个表彼此无关。更好的选择是使用 UNION

SELECT id, randomNumber
FROM tableA
WHERE ID IN (0,1,2,3)

UNION ALL

SELECT id, randomNumber2
FROM tableB
WHERE ID IN (0,1,2,3)

或者,只需使用 2 个单独的查询并合并结果。

关于php - JOIN 和 ON 子句(NULL 值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15811960/

相关文章:

javascript - 处理ajax响应异常

r - 将 roll=TRUE 与allow.cartesian=TRUE 一起使用

mysql - 由另一列分组的所有不同列值的总和?

php - 新闻 系统问题(PHP 和 Mysql)

Mysql JOIN 子查询

mysql - 也为使用不同时间的非插入值选择时间、总和和按列分组

php - 从 MySQL 转储创建 Laravel 迁移文件

php - 开发 Joomla 组件的单元测试

php - 如何使用js/html/php将默认的apache登录/密码弹出框更改为自定义?

php - 如何显示内部连接表中的必填字段