我正在尝试编写一个 MS SQL 语句来获取一行。
SELECT otherfields, phantom_col FROM mytable WHERE id=5
上面的 SQL 失败并出现错误:
Msg 207 Level 16 Stage 1, Line XX
invalid column name 'phantom_col'.
我加载了 SQL Management Studio 2008 R2 并连接到上述数据库和表并执行“选择前 1000 行”以获取自动生成的 SQL。表明:
SELECT TOP 1000 [otherfields], [phantom_col] FROM [mydatabase].[dbo].[mytable]
然后我删除了读取[mydatabase]
并立即 SQL Management Studio 告诉我[phantom_col]
无效的部分。
那是什么特殊的专栏phantom_col
?严格来说,如果我省略了冗长的[].[]
符号,我的 SQL 语法仍然正确吗?
编辑:我终于仔细看了看,并意识到有一条错误消息。编辑如上。