1
我有三个表:如何在MySQL查询中添加对数据的检查?
$sTable
=歌曲(songid,mp3link,艺术品,useruploadid等)的表$sTable2
=项目表与链接到他们(专案编号,songid,项目歌曲命名等)$sTable3
=歌曲评级(songid,用户ID,等级)
所有这些数据被输出到JSON
阵列和在我applicati显示在表中的一个表提供歌曲列表,并结合项目和评分数据。
我想要做的是检查“登录用户”是否投票选定某首歌曲,以便我可以将“投票”类添加到返回数据的父元素。
我愿意以最有效的最佳方式来做到这一点,我猜想会返回一个布尔值(1或0),其中1被投票,否则返回0。
我可以使用JavaScript应用类客户端。
'logged in user id'被存储在我的PHP脚本中作为$ loggedin_ID,所以我需要简单地检查这个变量对$ sTable3列的'userid'给定的songid并返回一个新列(我会想象使用AS),如果该歌曲ID有匹配的条目,则结果为1,如果没有,则为0。
我该如何去修改我的查询来添加这个?
以上只是我的想法,可能确实有一个更好/更有效的方法。如果是这样,请不要犹豫,提供您认为可能是实现此功能的更好解决方案。
以下是我当前的查询。谢谢。
$sQuery = "SELECT SQL_CALC_FOUND_ROWS ".str_replace(" , ", " ", implode(", ", $aColumns))."
FROM $sTable b
LEFT JOIN (
SELECT COUNT(*) AS projects_count, a.songs_id
FROM $sTable2 a
GROUP BY a.songs_id
) bb ON bb.songs_id = b.songsID
LEFT JOIN (
SELECT AVG(rating) AS rating, COUNT(rating) AS ratings_count,c.songid
FROM $sTable3 c
GROUP BY c.songid
) bbb ON bbb.songid = b.songsID
感谢MGA,这看起来像正确的做法,但我无法将其集成到我的查询没有得到别名/语法错误。可能是由于我对MySQL的相对缺乏经验。尽可能多的我不想问,你会介意更具体一点如何将它与我目前的查询集成吗?这对像我这样的新手来说非常有帮助。 – gordyr
稍微摆弄一下,我就到了那里...并且在这个过程中学到了一两件事。非常感谢MGA。你是个明星。 :-) – gordyr
@gordyr,我真的很抱歉,但我实际上得不到,你想把它整合到什么?您发布到您的问题中的查询我无法理解,但如果您对此有更详细的了解,我将很乐意提供帮助。 –