Php 加入三个表
对于下面的连接查询,我想从第三个名为“comment”的MySQL表中提取一些数据。字段“submissionid”也是表“comment”中的第一个字段 对于“comment”表中的每个“submissionid”,我想计算一个名为“commentid”的字段 我该怎么做 提前感谢, 约翰Php 加入三个表,php,mysql,Php,Mysql,对于下面的连接查询,我想从第三个名为“comment”的MySQL表中提取一些数据。字段“submissionid”也是表“comment”中的第一个字段 对于“comment”表中的每个“submissionid”,我想计算一个名为“commentid”的字段 我该怎么做 提前感谢, 约翰 是的,你可以这样做,但是你将会遇到的问题是,如果登录有多个提交,并且提交有多个注释,那么你的结果可能很难解释 换句话说,如果您有10个登录,每个登录有5个提交,每个提交有8个评论,那么您将收回10 x 5
是的,你可以这样做,但是你将会遇到的问题是,如果登录有多个提交,并且提交有多个注释,那么你的结果可能很难解释 换句话说,如果您有10个登录,每个登录有5个提交,每个提交有8个评论,那么您将收回10 x 5 x 8=400行。现在你可以处理这个问题了,但是数据可能会失控 即:
SELECT s.loginid, s.title, s.url, s.displayurl, l.username, c.commentid
FROM submission s
JOIN login l ON s.loginid = l.loginid
LEFT JOIN comments c ON s.submissionid = c.submissionid
ORDER BY s.datesubmissed DESC
LIMIT 10
注意:我已将上述内容更改为使用ANSI SQL连接语法。你应该支持这个。它通常更容易阅读。这不正是您在这里提出的问题吗:?我很难让它正常工作。谢谢。。。如果没有s.submissionid等于c.submissionid,这会起作用吗?@John no,你需要一个外部连接。让我修改一下。
SELECT s.loginid, s.title, s.url, s.displayurl, l.username, c.commentid
FROM submission s
JOIN login l ON s.loginid = l.loginid
LEFT JOIN comments c ON s.submissionid = c.submissionid
ORDER BY s.datesubmissed DESC
LIMIT 10