当您使用引号转义名称时,如何选择特定表的列?以下不起作用:
SELECT "UnitTest1.Name" FROM "UnitTest1" WHERE "Name" = 'One';
如果我从所选列中删除表名,它会起作用,但这不是我想要的,因为我打算稍后包含一个可能共享一两个列名的第二个表。
我得到的错误:
错误:列" UnitTest1.Name"不存在第1行:选择 " UnitTest1.Name" FROM" UnitTest1"在哪里"姓名" ='一个...... ^
**********错误**********
错误:列" UnitTest1.Name"不存在SQL状态:42703 性格:8
答案 0 :(得分:5)
引号保护标识符不被解析,因此查询失败,因为您没有名为"UnitTest1.Name"
的列。这些是两个标识符(表名和列名),需要单独引用:
SELECT "UnitTest1"."Name" FROM "UnitTest1" WHERE "Name" = 'One';
答案 1 :(得分:3)
为tablename和columnname包含单独的双引号,这应该可以正常工作
SELECT "UnitTest1"."Name" FROM "UnitTest1" WHERE "Name" = 'One';