mysql - SQL查询多表连接信息

标签 mysql sql

这是我的 3 个表格:

session

session ID

first_user_id

第二用户ID

用户

用户 ID

图片ID

图片

图片ID

图片文件名

我需要的是一个产生以下记录的 SQL 查询:

session ID

first_user_id

第二用户ID

first_user_pic_filename

第二用户图片文件名

到目前为止,这就是我的想法:

SELECT meetings.*, pics1.filename first_user_pic_filename, pics2.filename second_user_pic_filename

FROM meetings 

INNER JOIN users users1 ON meetings.first_user = user_id

INNER JOIN users users2 ON meetings.second_user = user_id

INNER JOIN pictures pics1 ON pics1.pic_id = users1.pic_id

INNER JOIN pictures pics2 ON pics2.pic_id = users2.pic_id

我不确定我到底做错了什么。任何帮助将不胜感激。

我目前得到的只是几条记录,而应该有 10-15 条记录。我想知道我的加入方式是否存在问题。

最佳答案

我想你应该改变

INNER JOIN pictures pics1 ...
INNER JOIN pictures pics2 ...

LEFT OUTER JOIN pictures pics1 ...
LEFT OUTER JOIN pictures pics2 ...

关于mysql - SQL查询多表连接信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18369336/

相关文章:

php - Xdebug 分析显示的执行时间与实际执行时间不同

python - CherryPy Ping 数据库连接或重启连接

mysql - 使用 GROUP BY 和 ORDER BY 优化计算中位数的查询

sql - ON DELETE 外键引用的条件逻辑

MySQL 多重复记录合并

php - 用get方法插入是可以的,而post不是。(关于PHP/PDO/HTML)

php - mysql select query pattern, get duplicates just once , regex, 模式

mysql - 在 MySQL 中计算重叠

sql - 需要根据从表中提取的信息将行插入表中

sql - 查询交叉 TableView