SQL删除不相关的列

时间:2016-03-31 16:06:03

标签: sql

我现在正在学习SQL,我想要做得更好,然后到目前为止。 我有2张桌子。

边框( id ,country1,country2,lenght), 国家/地区(名称,人口)

我想让所有国家围绕某个名为D的国家。

我的解决方案:

SELECT country1, country2 FROM borders WHERE country1 = 'D' OR country2= 'D'

here

但我不想得到2列。有没有选择才能获得一个? 谢谢你的帮助。

Painter21

1 个答案:

答案 0 :(得分:4)

使用IF

SELECT IF(country1 = 'D', country2, country1) 
FROM borders 
WHERE 'D' IN (country1, country2)

如果您不使用MySQL,那么CASE表达式将执行:

SELECT CASE country1 WHEN 'D' THEN country2 ELSE country1 END AS country
FROM borders 
WHERE 'D' IN (country1, country2)