我正在尝试确定与类别相关的主题组合是否是唯一的。这是在将主题添加到类别时完成的。使用此查询检查唯一性:
$sql_unique = "SELECT Categories_CategoryID, list
FROM (
SELECT Categories_CategoryID, GROUP_CONCAT( Topics_TopicID ) AS list
FROM (
SELECT *
FROM Topics_crosstable
ORDER BY Topics_TopicID
)H
GROUP BY Categories_CategoryID
)A
WHERE list = (
SELECT GROUP_concat( TopicID )
FROM Topics
WHERE Name = 'nr1'
OR Name = 'nr2'
ORDER BY Categories_CategoryID ASC )";
$result = mysql_query($sql_unique);
echo mysql_num_rows($result);
if($result > 1)
{
echo' HELP! It is not unique';
}
else
{
echo ' getshere';
}
这工作正常。然而,问题是,添加的主题数量是不同的。那么有没有办法在查询的 where 部分中包含一个 for 循环?
类似于 for(添加的主题数;nr++) {OR Name =', $inserted_topicName '}