如何使用三个表在MySQL中使用SQL语句获取矩阵样式数据

How to get matrix style data using SQL statement in MySQL using three tables

我有三个 table,中间的 table 是多对多结果 table (AB)。什么是最有效的SQL语句得到:

1 - 来自其他两个 tables(Table A 和 Table B)的所有记录,无论 Table AB 中是否存在匹配数据 2 - 如果两个 table 链接(即在多对多结果 table 中有一个记录),则每个记录应显示为真,如果为空

,则为假

基本上我想显示一个矩阵table,第一列显示来自table A的所有记录,第一行显示所有记录table B,那么相交的单元格应该如果 table AB 中有匹配的记录,则勾选。

如果我不介意在必要时以编程方式解析最终数据集

谢谢

尝试这样的事情:

SELECT A.id AS "A id", B.id AS "B id", AB.id IS NOT NULL AS "Match"
FROM A
  JOIN B
    LEFT JOIN AB ON A.id = A_id AND B.id = B_id

SQL Fiddle 也有一个 ORDER BY 子句。