0

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

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

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

如果我不介意以编程方式解析最终数据集,如果我必须

谢谢

4

1 回答 1

0

尝试这样的事情:

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

于 2020-03-30T09:05:20.947 回答