在列名中使用大写字母的 Postgres 查询
Postgres query with uppercase letters in Column name
我搜索并遵循了各种在线指南,但是我没有成功执行以下查询,虽然没有给出错误,但没有得到预期的结果。
table gBInfo:
(columns) id,userId, fromGB, fromGBId
table User:
(columns) id, firstName, lastName
查询:
select "id", "firstName", "fromGB"
from "User" join "gBInfo"
on 'User.id' = 'gBInfo.userId';
我如何让这个查询工作,列中有大写字母和 table 名称。
单引号用于字符串常量,不适用于标识符。并且多部分标识符的每个部分都需要单独引用:
select "id", "firstName", "fromGB"
from "User"
join "gBInfo" on "User".id = "gBInfo"."userId";
条件 'User.id' = 'gBInfo.userId'
只是将字符串值 User.id
与字符串值 gBInfo.userId
进行比较,这显然永远不相等。
我搜索并遵循了各种在线指南,但是我没有成功执行以下查询,虽然没有给出错误,但没有得到预期的结果。
table gBInfo:
(columns) id,userId, fromGB, fromGBId
table User:
(columns) id, firstName, lastName
查询:
select "id", "firstName", "fromGB"
from "User" join "gBInfo"
on 'User.id' = 'gBInfo.userId';
我如何让这个查询工作,列中有大写字母和 table 名称。
单引号用于字符串常量,不适用于标识符。并且多部分标识符的每个部分都需要单独引用:
select "id", "firstName", "fromGB"
from "User"
join "gBInfo" on "User".id = "gBInfo"."userId";
条件 'User.id' = 'gBInfo.userId'
只是将字符串值 User.id
与字符串值 gBInfo.userId
进行比较,这显然永远不相等。