我有以下三个SQL查询。我想将它们合并成一个是可能的,要么使用当前的方法,要么使用其他方法,如果它会更有效。结合三个SQL查询
注意:我需要知道所有三个WHERE子句的不同计数值。
查询1:
SElECT COUNT(*) AS imgCount FROM (
SELECT imgHeight, imgWidth, imgId AS primaryId FROM primary_images
UNION ALL
SELECT imgHeight, imgWidth, primaryId FROM secondary_images
) AS union_table
WHERE primaryId = $imgId AND imgWidth = $maxImageWidth AND imgHeight = $maxImageHeight;
QUERY 2:
SElECT COUNT(*) AS imgCount FROM (
SELECT imgHeight, imgWidth, imgId AS primaryId FROM primary_images
UNION ALL
SELECT imgHeight, imgWidth, primaryId FROM secondary_images
) AS union_table
WHERE primaryId = $imgId AND imgWidth = $maxImageWidth AND imgHeight != $maxImageHeight;
QUERY 3:
SElECT COUNT(*) AS imgCount FROM (
SELECT imgHeight, imgWidth, imgId AS primaryId FROM primary_images
UNION ALL
SELECT imgHeight, imgWidth, primaryId FROM secondary_images
) AS union_table
WHERE primaryId = $imgId AND imgWidth != $maxImageWidth AND imgHeight = $maxImageHeight;
另外,我的数据库是MySQL。我听说使用!=
作为“不等于”在所有情况下都不起作用,但是<>
更好。在我的情况下,应该!=
罚款?
'!=和'<>'在MySQL中是等价的,它们之间没有区别。 – Karolis
@Karolis - 谢谢! – stefmikhail