该主题已关闭.. 我找到了一个答案,它显示了使用子查询所需的输出。
选择 表_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,D 的 COL2 值,因此它将返回您在问题中提供的测试表中的值。
您可以使用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/