我有问题要知道两个或多个单元格是否具有相同的值。 例如: 列包含作者姓名,另一列包含居住的城市。 我想知道住在同一个城市的作者的名字.. 所以我想查看city列,知道是否有相同的城市,但我不知道语法.. :)
select authors.au_fname , authors.au_lname ,city -- to present the first & last name of author
from authors
Where -- I don't know the condition here
答案 0 :(得分:1)
select a1.au_fname , a1.au_lname, a2.au_fname , a2.au_lname, city
from authors a1 inner join authors a2 on a1.id <> a2.id
where a1.city= a2.city
<强>解释强>
必须比较两位作者的每个组合,因此该表在不同的主键上自行连接(我假设authors.id
)。最后,where
指出只有同一城市的作者才会被输出,过滤掉不在同一城市的作家巴黎。
答案 1 :(得分:0)
我想你只想按城市排序:
select authors.au_fname , authors.au_lname ,city -- to present the first & last name of author
from authors
order by city
如果您只想选择拥有2位或更多作者的城市,那么这里有一种适用于任何数据库的方式:
select authors.au_fname , authors.au_lname ,city -- to present the first & last name of author
from authors
where city in (select city from authors group by city having count(*) >= 2)
order by city