检查两个表中的匹配记录

时间:2015-01-03 14:17:37

标签: mysql sql database

如果我有两张桌子,都包含城市。一个供作者使用,另一个供发布者使用,我如何查看哪些作者和发布者居住在同一个城市?到目前为止,我有:

SELECT a.fname,a.city,p.city
FROM publisher p
INNER JOIN author a

我只是不确定接下来做什么比较。

3 个答案:

答案 0 :(得分:0)

缺少一个加入条件:

SELECT a.fname,a.city,p.city
FROM publisher p
INNER JOIN author a
ON a.city = p.city

答案 1 :(得分:0)

你可以在没有JOIN但使用WHERE

的情况下完成
SELECT a.fname,a.city,p.city
FROM publisher p,author a
WHERE a.city=p.city

您还需要选择发布商名称

答案 2 :(得分:0)

试试这个

SELECT <fields you want to show here>
, CASE WHEN a.city = p.city THEN 1 ELSE 0 END AS live_in_the_same_city_flag
FROM publisher p
INNER JOIN author a ON <join condition - a predicate, for instance a.book_id = p.book_id>