我有两个评级/投票表。一个用于用户投票和统计,另一个用于外部投票。 外部投票表始终具有数据,因为它具有DEAFULT = 0,但是如果任何用户已经投票支持该特定ID,则用户投票仅包含数据。
所以我这样做:
$sql = 'SELECT ratings_stats.votes, ratings_stats.total_value,
ratings_stats.view, ratings_stats.fav, ratings_stats.wish,
ratings_external.votes, ratings_external.total_value
FROM ratings_stats, ratings_external
WHERE ratings_stats.imdbID = ?
AND ratings_stats.imdbID = ratings_external.imdbID
LIMIT 1';
我想从两个表中选择数据(如果可用)或者仅形成第二个(外部投票)表,如果没有。
如何在不进行新查询的情况下执行此操作?
答案 0 :(得分:5)
SELECT ratings_stats.votes,
ratings_stats.total_value,
ratings_stats.view,
ratings_stats.fav,
ratings_stats.wish,
ratings_external.votes,
ratings_external.total_value
FROM ratings_external
LEFT JOIN ratings_stats ON ratings_stats.imdbID = ratings_external.imdbID
WHERE ratings_external.imdbID = ?
LIMIT 1