SQLite在大小写中引用select列

时间:2017-11-22 19:36:29

标签: sql sqlite

我有这个SQLite查询:

export const mutations = { toggleSidebar(state) { state.sidebar = !state.sidebar; } }

这很好用,但是我需要一种方法来从所选的stop的父站id中的else语句中获取停止名称。所以基本上我需要一种方法来引用当前行的parent_id

2 个答案:

答案 0 :(得分:1)

您可以使用自我加入

SELECT 
    CASE WHEN a.parent_station is '' then a.stop_name else b.stop_name end as stop 
from stop a 
left join stop b on a.stop_id = b.parent_id

答案 1 :(得分:1)

您可以尝试使用合并。 Coalesce返回第一个非空值 例如,coalesce(null, 'a')将返回a,coalesce('ab', 'cd')将返回ab。 在您的情况下,您必须检查''''' string to在这种情况下你可以使用nullif返回null如果2个参数相同,这将解决你的问题。

Select
    coalesce (NULLIF(s1.parent_station,''), s2.stop_name) as stop 
from stop s1 
   left join stop s2 on s1.stop_id = s2.parent_id