Php 按票数顺序排列,但未经投票,不';不显示
我在mySQL中找不到解决方案,我有两个表,其中一个表中有我的图像,另一个表中有我的投票和图像id,我使用以下行将它们绑定在一起:Php 按票数顺序排列,但未经投票,不';不显示,php,mysql,sql,select,join,Php,Mysql,Sql,Select,Join,我在mySQL中找不到解决方案,我有两个表,其中一个表中有我的图像,另一个表中有我的投票和图像id,我使用以下行将它们绑定在一起: $sql = "SELECT `image` FROM `sh_images`, `sh_votes` WHERE `sh_images`.`id`=`sh_votes`.`image_id` ORDER BY `vote` DESC"; 除了还没有投票的图像没有显示外,一切正常。那你有什么解决办法吗 你应该在这个问题上使用左连接 左连接不同于内部连接(您现在正
$sql = "SELECT `image` FROM `sh_images`, `sh_votes` WHERE
`sh_images`.`id`=`sh_votes`.`image_id` ORDER BY `vote` DESC";
除了还没有投票的图像没有显示外,一切正常。那你有什么解决办法吗 你应该在这个问题上使用
左连接
左连接
不同于内部连接
(您现在正在做的事情)LEFT JOIN
显示左侧定义的所有记录,无论结果右侧表中是否有匹配的记录
SELECT image, vote
FROM sh_images
LEFT JOIN sh_votes
ON sh_images.id = sh_votes.image_id
ORDER BY vote DESC
要进一步了解加入的更多信息,请访问以下链接:
你应该在这个问题上使用左连接
左连接
不同于内部连接
(您现在正在做的事情)LEFT JOIN
显示左侧定义的所有记录,无论结果右侧表中是否有匹配的记录
SELECT image, vote
FROM sh_images
LEFT JOIN sh_votes
ON sh_images.id = sh_votes.image_id
ORDER BY vote DESC
要进一步了解加入的更多信息,请访问以下链接:
当然,只需使用左连接:
SELECT image
FROM sh_images
LEFT JOIN sh_votes ON sh_images.id=sh_votes.image_id
ORDER BY vote DESC;
BTW,考虑使用<代码>内部连接< /代码>语法,以便于直接连接,这样可以更容易地防止缺少连接条件。
< P>当然,只使用左连接:
SELECT image
FROM sh_images
LEFT JOIN sh_votes ON sh_images.id=sh_votes.image_id
ORDER BY vote DESC;
BTW,考虑使用<代码>内部连接< /COD>语法来进行直接连接,这样更容易防止丢失的连接条件。
@ Strawberry,回滚是没有意义的。代码应该放在代码块中,而不是块引号中,并且,除了不正确的英语之外,还应该被删除。@gunr217这是我反对你的考古本能的方式-但是请继续。@草莓,你的回滚没有意义。代码应该在代码块中,而不是块引号中,并且,除了不正确的英语之外,还应该被删除。@gunr217这是我反对你的考古本能的方式,但请继续。