亲爱的聪明人,然后我,
我遇到了从我在SQL数据库中的VIEW收集数据的问题。
当我运行以下查询时:
SELECT
ref_aanhefinformeel, voornaam, tussenvoegsel, achternaam, ref_afdeling,
ref_locatie, ref_plaats1, functie, email, isnull(telefoon, mobiel) as telefoon,
personeelsnr,
CASE
WHEN geslacht ='1' THEN 'Man'
ELSE
CASE WHEN geslacht ='2' THEN 'Vrouw'
END
END as Geslacht
FROM VW_telefoonboek where achternaam = 'hovens'
它返回以下错误: 列名称“ref_plaats1”无效。列名称“ref_locatie”无效。列名称“ref_afdeling”无效。列名称'ref_aanhefinformeel'无效。
这很奇怪,因为当我从同一个视图中选择*时,我确实从colomns获得了我需要的数据,当我定义它们时数据不会弹出。
我做错了吗?
答案 0 :(得分:2)
当你说'标签'时,你的意思是别名吗?如在
CREATE VIEW VW_telefoonboek AS
SELECT ref_aanhefinformeel AS Aanhefinformeel,
..etc
FROM UnderlyingTable
(在OP添加结果图片后编辑) 在这种情况下,当你从视图中选择时,你必须使用别名,即
SELECT
Aanheinformeel,
Achternaam,
Voornaam,
Functie,
Afdeling,
Personeelsnr,
Locatie_code,
Mobiel,
Tussenvoegsel,
Vestiging,
Email,
Geslacht,
Telefoon,
Plaats
FROM VW_telefoonboek
答案 1 :(得分:2)
当你跑步时:
SELECT * FROM yourview
结果是列中包含的值列表。从屏幕截图中您可以看到两列,第一列名为标签,第二列名为 Kolom
您尝试在SELECT
列中显示不存在的内容。
您的查询:
SELECT
ref_aanhefinformeel, voornaam, tussenvoegsel, achternaam, ref_afdeling,
ref_locatie, ref_plaats1, functie, email, isnull(telefoon, mobiel) as
telefoon,
personeelsnr,
CASE
WHEN geslacht ='1' THEN 'Man'
ELSE
CASE WHEN geslacht ='2' THEN 'Vrouw'
END
END as Geslacht
FROM VW_telefoonboek where achternaam = 'hovens'
这些字段:
ref_aanhefinformeel, voornaam, tussenvoegsel, achternaam, ref_afdeling,
ref_locatie, ref_plaats1, functie, email, isnull(telefoon, mobiel) as
telefoon,
personeelsnr,
你的观点中不存在!