php - 从一个表中获取所有数据,有时将该表与另一个表相关联

标签 php mysql sql codeigniter

我的问题是:我可以这样做吗? 我尝试了很多东西,其中一些是:

我需要表A的所有信息,有时我需要将此表与表B合并。我的问题是,当我加入两个表时,如果 Table A 中的特定参数不在 Table B 中,只需在特定参数,但我想要所有记录。

表A

|--------------------------------|
|           Table A              |
|-------------------|------------|
| id_table_A | name | id_table_B |
|------------|------|------------|
|   1        | Joe  |  1         |
|------------|------|------------|
|   2        | Ben  |            |
|------------|------|------------|
|   3        | Lya  |            |
|------------|------|------------|
|   4        | luis |  2         |
|------------|------|------------|

表B

|----------------------|
|      Table B         |
|----------------------|
| id_table_B | Elements|
|------------|---------|
|   1        |    Car  | 
|------------|---------|
|   2        |    Byke | 
|------------|---------|
|   3        |    Moto | 
|------------|---------|

我想在我的 View 中显示的是:

|------------|------|------------|
| id_table_A | name | Elements   |
|------------|------|------------|
|   1        | Joe  |  Car       |
|------------|------|------------|
|   2        | Ben  |            |
|------------|------|------------|
|   3        | Lya  |            |
|------------|------|------------|
|   4        | luis |  Byke      |
|------------|------|------------|

我的模型 在我的模型中,这是我尝试过的:

"SELECT * FROM table_A, table_B where table_A.id_table_B = table_B.id_table_B"

但是这个查询只显示数据1 和4。 这可以做还是不做? 提前致谢。

最佳答案

你可以使用左连接

SELECT * 
FROM table_A
left join table_B on table_A.id_table_B = table_B.id_table_B

当表之间的键可能不总是匹配时,使用左连接。在这种情况下,左连接在可能的情况下检索正确的匹配项,而在不可能的情况下,值变为 NULL

SQL LEFT JOIN Documentation

关于php - 从一个表中获取所有数据,有时将该表与另一个表相关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45946036/

相关文章:

php - 使用 PHP 仅从 MongoDate 查询 "sec"字段

mysql - WHERE x IN 适用于单个值,不适用于 json 上的多个值

sql - 如何创建一个 SQL 列,其值取决于(映射到)现有查找列的值?

sql - 从 sql 查询结果中删除域

sql - 如何使用子查询中的变量?

php - 选择名称相似的行

php - 尝试将旧的 mysql_query 转换为新的 PDO 方法,如何创建变量元素

php - 根据列名在两个div中显示MYSQL选择查询的结果,使用单个选择查询

mysql - 无法通过 mysql CLI 工具使用 IAM 身份验证连接到 RDS 实例

php - 事务回滚不起作用