mysql join - 选择 col1,其中 col2 与其他表中的(过滤的)col 匹配

标签 mysql join

这就是我想做的:

  1. 选择 tableB.column1 WHERE tableB.column2 = some_var

  2. 选择 tableA.column1,其中 tableA.column2 是第一步的结果。

这可以通过一次选择完成吗?做到这一点的最佳方法是什么,特别是在性能方面?我正在使用 PHP。

编辑: 我有一个基于对话的消息系统。 1 个对话表 和 1 个回复表。回复表包含列:responder 和 convo_id。为了加载 convo,我得到了带有该 convo_id 的所有回复。

我想使用 convoId 获取该 convo 的所有响应者,然后进入用户表并选择响应者的所有头像,然后将头像存储在数组中并根据需要回显它们。

最佳答案

尝试以下操作:

select a.Column1 
FROM tableA a 
LEFT JOIN tableB b ON a.Column2 = b.Column1 

您也可以使用子查询,但性能较差。

关于mysql join - 选择 col1,其中 col2 与其他表中的(过滤的)col 匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9858482/

相关文章:

java - HQL 左连接条件

mysql - 将列值作为 mysql 数据库中现有表名传递

sql - LEFT JOIN (OUTER JOIN) 与 INNER JOIN 中的条件

mysql - 批处理文件时间戳问题

mysql - 如何获取 MySQL 中操作表中两列的最大值

mysql - 如何优化mysql join查询,不使用join

mysql - 具有挑战性的 SQL 查询来执行矩阵乘法

python pandas 数据框合并或加入数据框

mysql - 关系限制会阻止我删除父记录吗?

python - 无法将CSV文件数据导入mysql表