[英]PHP/SQL: Using only one query, SELECT rows from two tables if data is in both tables, or just SELECT from one table if not
I have two rating/votes tables. 我有两个评分/投票表。 One for user votes and stats and another for external votes.
一个用于用户投票和统计,另一个用于外部投票。 The external votes table always have data because it has a DEAFULT = 0, but the users votes only contains data if any user have voted for that specific ID.
外部投票表始终具有数据,因为它的DEAFULT = 0,但是用户投票仅包含任何用户为该特定ID投票的数据。
So I do something like this: 所以我做这样的事情:
$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';
I want to select data from both tables if available OR only form the second (external votes) table if not. 我想从两个表中选择数据(如果可用),或者如果没有,则仅形成第二个(外部选票)表。
How to can I do it without making a new query? 不进行新查询怎么办?
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.