php - 如何获取A表和B表的记录?

标签 php mysql join

该主题已关闭.. 我找到了一个答案,它显示了使用子查询所需的输出。

选择 表_a.id, table_a.col 作为 col, (从 table_b 选择 col2,其中 col1 = col AND col3 = 'me' LIMIT 1)作为 table_b_col2, (从 table_b 选择 col3,其中 col1 = col AND col3 = 'me' LIMIT 1)作为 table_b_col3 从 表_a

我有两个表:

表A

ID  | COL
1   |   A
2   |   B
3   |   C
4   |   D

表B

ID1  | COL1  | COL2  | COL3

1   |     A     |      60  |    me
2   |     B     |      45  |    me

现在我想获取这样的记录

预期结果:

ID1  | COL1  | COL2  | COL3
1   |     A     |    60  |    me
2   |     B     |    45  |    me
3   |     C     |          |   
4   |     D     |          |   

我已经尝试使用左连接,但它只给出表 b 中的行的值

测试表:

ID  | COL1  | COL2  | COL3
1   |     A     |    60  |    me
2   |     B     |    45  |    me

有关如何实现此功能的任何想法,或者您可以分享您的代码..谢谢

最佳答案

我猜您正在尝试从表 B 中左连接表 A。如果您按照上面的方式左连接,那么您将获得具有表 B 中的列值(COL1 A 和 B)的连接记录。由于表 B 中没有 C,DCOL2 值,因此它将返回您在问题中提供的测试表中的值。

您可以使用LEFT JOIN来获得预期的结果。

SELECT a.col,b.COL1,b.COL2  
FROM Table A a
LEFT JOIN table_B b ON a.ID = b.ID

关于php - 如何获取A表和B表的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58586728/

相关文章:

javascript - Magento 文本字段最大字段长度(5 个字符)

php - 如何在同一 php 页面上的其他 php 脚本中使用 php 变量

mysql - 无法弄清楚这个 sql 查询出了什么问题

php - 根据 friend 的帖子选择特定标题

mysql - LIMIT 在关节的右侧

java - 如何在非主键上使用 hibernate 注释设置单向一对一关系?

php - PusherBroadcaster.php 第 106 行中的 Laravel Echo BroadcastException : Unknown auth_key

php - 通过PHP上传SQL转储文件错误

php - SELECT WHERE 变量不起作用

mysql - 从连接中具有多个 id 的一张表中获取名称