假设我们有一个一个表,其中包含以下字段。
城市
ID ....................... int
名称............. char(20)
人口.... int
ID | Name | Population
1 | Tokyo | 200
2 | Houston | 300
3 | Manchester | 100
如何查询第一个城市的人口少于第二个城市且以空格分隔的城市对? (名称A的人口<名称B的人口)
预期结果:
Manchester, Tokyo
Tokyo, Houston
我尝试了以下操作:
SELECT a.name, b.name
FROM CITY a,
CITY b
WHERE a.population < b.population AND a.population != b.population;
答案 0 :(得分:2)
好吧,大概您需要将城市的名称连接在一起。您正在获取人口。
SELECT CONCAT_WS(' ', a.name, b.name)
FROM CITY a JOIN
CITY b
ON a.population < b.population;
CONCAT_WS()
是一个方便的函数,它使用分隔符将值连接起来。
此条件是不必要的:AND a.population != b.population