MYSQL连接查询,即使内容不存在,也会追加包含两个表的数据';不相交
尝试在MYSQL中执行联接,结果生成一个包含所有MYSQL连接查询,即使内容不存在,也会追加包含两个表的数据';不相交,mysql,join,Mysql,Join,尝试在MYSQL中执行联接,结果生成一个包含所有主题的数据集以及联接数据AppId&TopicOrder其中AppId=70 表1:主题 Id | Topic Name -------------------- 1 | Inspiration 2 | Motivation 3 | Happiness 4 | Health 5 | Love 6 | Career 表2:应用程序主题 AppId | TopicId | TopicOrder ----
主题的数据集以及联接数据AppId
&TopicOrder
其中AppId=70
表1:主题
Id | Topic Name
--------------------
1 | Inspiration
2 | Motivation
3 | Happiness
4 | Health
5 | Love
6 | Career
表2:应用程序主题
AppId | TopicId | TopicOrder
-----------------------------------
70 | 1 | 1
70 | 4 | 2
70 | 6 | 3
50 | 2 | 1
50 | 3 | 2
最终目标:
Id | Topic Name | AppId | TopicOrder
---------------------------------------------
1 | Inspiration | 70 | 1
2 | Motivation | |
3 | Happiness | |
4 | Health | 70 | 2
5 | Love | |
6 | Career | 70 | 3
下面的连接将得到结果
SELECT * FROM topic LEFT JOIN
(SELECT * FROM apptopic WHERE apptopic.appId = 70) AS a
ON topic.id = a.topicId
使用联接在数据库级别执行此操作要容易得多。发布你的表格。yeh,也尝试过了,但看不到如何获得所有主题以及特定AppId的关联匹配,内部、左侧和右侧都只生成相交结果@E4C5我想这就是问题的关键:)请发布一个MCVE,表格中有一些示例行和预期的输出。如果有人想通过php来帮助您,就让这个问题成为可能。根据建议@e4c5发布更新的新问题。请让我知道这是否足够。Bam!谢谢你,很高兴能帮上忙