我有一个查询,其中包含以下行:
Id | key | Value
1 Type.name.1 Value1
2 Type.name.2 Value2
3 Type.desc.1 Desc1
4 Type.desc.2 Desc2
我需要一个返回此内容的查询:
Type.NameId | Type.DescId
1 3
2 4
我怎样才能在Postgres中做到这一点?
答案 0 :(得分:0)
SELECT *
FROM (
SELECT right(key, -10) AS name_id
WHERE "value" ~~ 'Value%'
) n
FULL JOIN (
SELECT right(key, -10) AS name_id, id AS desc_id
WHERE "value" ~~ 'Desc%'
) d USING name_id;
确切的表格取决于你问题中遗漏的很多细节。
您的桌面设计和命名惯例让我感到沮丧。