第一篇文章,温柔!我的SQL知识充其量只是平均值。
我有两张桌子彼此没有直接关系。
一本书可以在这些表中的一个,两个或没有。
我需要创建一个SQL语句来计算TableA或TableB中"bookID='data'"
个出现次数。
到目前为止使用PHP我首先搜索TableA "bookID"
列,然后如果找不到任何内容,则接下来查找TableB "bookID"
列...它可以工作,但是效率低,并且我确信必须是一个更好的方式。
JOIN语句似乎不适用于此处? - 我错了。
更新
我正在使用的Psuedo PHP代码:
$total=SELECT COUNT(*) FROM CustomerWishList WHERE BOOKID=1234
if ($total==0) {
$total2=SELECT COUNT(*) FROM CustomerOwned WHERE BOOKID=1234
}
return $total2;
答案 0 :(得分:0)
下面的查询将为您提供仅在表A中计算的图书ID:
__unicode__
类似地,以下查询将为您计算仅在表B中的图书ID:
SELECT count(1) as `count`
FROM tableA
WHERE NOT EXISTS
(SELECT bookID FROM tableB WHERE bookID = tableA.bookID);
现在,如果您想SELECT count(1) as `count`
FROM tableB
WHERE NOT EXISTS
(SELECT bookID FROM tableA WHERE bookID = tableB.bookID);
这两个,那么您可以使用以下查询:
add