php - Mysql php:如何多次加入同一张表?
问题描述
Team
表有:ID | TEAM --------+---------- 1 | A 2 | B
Result
表有:fk_ID1 | fk_ID2 | RESULT ----------+-----------+----------- 1 | 2 | 5:0 2 | 1 | 2:3
如何Inner JOIN
表,得到:(A 5:0 B) & (A 2:3 B)
?
我的代码示例:
public function getResultList($limit, $offset) {
$query = " SELECT result_id,
t1.name name1,
t2.name name2,
team1_goals,
team2_goals,
date
FROM results
INNER JOIN team t1 ON fk_tm1_id=tm_id
INNER JOIN team t2 ON fk_tm2_id=tm_id";
$data = mysql::select($query);
return $data;
}
解决方案
最好将其作为纯粹的 SQL 问题来回答,确实如此。两次或多次加入同一个表时,您需要分配表别名。
您似乎只是为该列分配别名。要为列或表分配别名,您可以在列或表名之后直接添加别名(也可以使用 AS,但对于 MySQL 不是必需的)
常见的做法是将表格编号为 t1、t2、t3 等。
SELECT t1.name name1, t2.name name2 FROM ...
INNER JOIN team_table t1 ON ...
INNER JOIN team_table t2 ON ...
这将第一个连接别名为 t1,第二个连接别名为 t2,您将在从该特定连接 (SELECT t1.name) 访问数据时使用它们。
推荐阅读
- r - R 在特定列上按行排序
- harmon.ie - 登录harmon.ie - 抱歉,出了点问题
- react-native - 如何在本机反应中从另一个文件调用函数?
- php - WordPress:仅从上一级获取子分类
- javascript - 将 Javascript 前端数据发送到 Express 后端
- swagger - 如何使用sails-hook-actions2-swagger记录具有2个路径参数的端点?
- python - 使用 Microsoft UIAutomation 和 Python 从 UI 元素获取属性
- progressive-web-apps - 确定 PWA 安装状态
- amazon-web-services - 当我们在 SQS 上使用 SSE 时,为什么 S3 需要密钥权限?
- python - mplcursors 仅显示 y 坐标