mysql - 两次使用复合键连接表

标签 mysql sql database join trac

给定具有主键id 的表ticket 和具有复合键ticket,name 的表ticket_custom > 如何加入 id = ticket and name=X and id = ticket and name=Y

ticket_custom 表允许扩展票表,它有字段ticket,name,value

我可以做一个连接:

SELECT id, summary, owner, ticket_custom.value
FROM ticket
INNER JOIN ticket_custom
ON id=ticket_custom.ticket AND ticket_custom.name='X'

我需要这样的东西:

SELECT id, summary, owner, ticket_custom.value, ticket_custom.value
FROM ticket
INNER JOIN ticket_custom
ON id=ticket_custom.ticket AND ticket_custom.name='X' AND ticket_custom.name='Y'

第一个 ticket_custom.valueid,x 的值,第二个是 id,y 的值。

最佳答案

如果我没理解错的话,这就是你要找的:

SELECT id, summary, owner, c1.value, c2.value
FROM ticket t
INNER JOIN ticket_custom c1  ON t.id = c1.ticket AND c1.name = 'X'
INNER JOIN ticket_custom c2  ON t.id = c2.ticket AND c2.name = 'Y'

关于mysql - 两次使用复合键连接表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13746707/

相关文章:

php - Left() 不起作用

android - 为网站和移动应用程序创建数据库

支持快速近似最近邻查询的数据库

PHP/MySQLi : SET lc_time_names and DATE_FORMAT() into a mysqli query?

mysql - 带有更新的 Mysql 存储过程

mysql - 我如何确定整个 MySQL 数据库都已加载到内存中?

sql - 将内容(大列表)添加到关系数据库的最佳方式

python - 优化 django admin sql

php - 使用 "load data infile"时如何记录错误并将其写入日志文件?

javascript - 将 PHP/Mysql/Javascript 实时搜索和验证输入表单转换为 Codeigniter MVC