0

我很难知道两个或多个单元格是否具有相同的值。例如:列包含作者姓名,另一列包含居住城市..我想知道居住在同一城市的作者姓名..所以我想检查城市列以了解是否有相同的城市或不是,但我不知道语法.. :)

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 
4

2 回答 2

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只输出居住在同一城市的作者的状态,过滤掉不居住在同一城市的作者巴黎。

于 2013-03-23T18:20:11.217 回答
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
于 2013-03-23T20:01:27.943 回答