我不知道怎么问这个,但哪个更好......使用GROUP BY或多个表。
目前,我有一个生成列表的表。它有几列,一列是列表ID。
现在这是我的查询
SELECT `listID`, ``
FROM `acmSongLists`
WHERE `churchID`='".$thisID."' AND `timeSent` >= DATE_SUB( CURDATE( ) ,INTERVAL 0 MONTH )
GROUP BY `listID` ASC
当然,要让所有项目与相同的listID相关联。然后我将该ID传递给另一个查询以显示我的列表标题。 AKA ...
SELECT * FROM `acmSongLists` WHERE `listID`='$listID'"
我很好奇,有更好的方法吗?我的另一个想法是创建两个表,一个包含一般信息以及一个唯一的id(listID),然后是第二个表,用于保存列表中的每个项目。然后分别查询它们。我想我想知道效率最高的是什么。谢谢你的想法。
答案 0 :(得分:0)
您可以尝试此查询:
SELECT asl1.`listID`, asl2.*
FROM `acmSongLists` asl1 INNER JOIN `acmSongLists` asl2 ON asl1.listID = asl2.listID
WHERE `churchID`='".$thisID."' AND `timeSent` >= DATE_SUB( CURDATE( ) ,INTERVAL 0 MONTH )
GROUP BY asl1.`listID` ASC