mySQL两次连接同一个表

标签 mysql

我正在尝试这个:

select 
audit_log_entries.created_at,
audit_log_orig_term_types.name as originator,
audit_log_orig_term_types.name as terminator
from audit_log_entries 
join audit_log_orig_term_types on audit_log_entries.originator_type_id = audit_log_orig_term_types.id
join audit_log_orig_term_types on audit_log_entries.terminator_type_id = audit_log_orig_term_types.id;

我认为意图很明确,我想要发起者和终结者的名字。我在第一个表中有他们的 ID,在另一个表中有他们的名字。

我收到一个错误:ERROR 1066 (42000): Not unique table/alias: 'audit_log_orig_term_types'

语法错误在哪里?

最佳答案

你可以这样:

select 
 audit_log_entries.created_at,
 audit1.name as originator,
 audit2.name as terminator
from audit_log_entries 
 join audit_log_orig_term_types audit1 on audit_log_entries.originator_type_id = audit1.id
 join audit_log_orig_term_types audit2 on audit_log_entries.terminator_type_id = audit2.id;

关于mySQL两次连接同一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30464489/

相关文章:

mysql - 无法使用 EasyPHP 5.3.5 连接到 phpmyadmin/mysql

mysql - "Host ' 机器名称 ' is not allowed to connect to this MySql server."

java - 使用java在一个连接中进行多个sql查询

php - Doctrine alter table 导致 auto_increment 重新排序

mysql - 如何在使用文本存储表情符号时修复 "Internal server error"

php - 了解 PHP 和 MySQL 安全性基础知识

python - 在django orm中将两个字段相乘

javascript - PHP jQuery aJax 来自响应和数据

mysql - 如何将 wordpress 安装从 xampp localhost 移动到 linux 服务器?

mysql - 每分钟 SQL 插入量