我正在尝试从两个表中进行选择并将它们连接到具有相同ID的位置,但我的查询似乎错误,它搜索的时间太长以至于它崩溃了工作台。
SELECT s.id,
s.title,
s.votes,
t.*
FROM movies_two.movie s,
movies_one.movie t
LEFT JOIN movies_two.movie
ON movies_one.id = s.id -- not sure which join to use
WHERE s.votes = -1 AND
t.numofvotes > 0;
我有两个包含类似数据的数据库。我正在尝试从movies_one
和movies_two
选择具有相同ID且movies_one
具有votes = -1
且movies_two
具有movies > 0
<的行/ p>
答案 0 :(得分:2)
你不需要left join
。你也不需要cross join
(这是逗号在from
子句中的作用。
我想你想要这样的东西:
SELECT *
FROM movies_one.movie m1 JOIN
movies_two.movie m2
ON m1.id = m2.id AND
m1.votes = -1 AND
m2.numofvotes > 0;
我还建议您使用表别名缩写的表别名。您对魔杖和查询的文字描述完全不同。
答案 1 :(得分:1)
SELECT s.id ,s.title, s.votes, t.*
FROM movies_two.movie s
JOIN movies_one.movie t
ON t.id = s.id
WHERE s.votes =-1
AND t.numofvotes >0;
没关系。 当您只想要movies_two.movie中的数据时,您可以使用左连接 - 左表。但在这里你需要两个表的数据。
答案 2 :(得分:0)
试试这个:
SELECT *
FROM movies_one.movie
WHERE numofvotes = -1
UNION
SELECT *
FROM movies_two.movie
WHERE votes > 0