我是大多数时间使用ORM的SQL新手。我有以下查询别名麻烦:在插入语句中使用别名
command.CommandText = @"
INSERT INTO permissions (userid, remoteid)
SELECT userid as uid, :remoteid as rid
FROM users
WHERE companyid = :companyid
AND NOT EXISTS (
SELECT 1
FROM permissions
WHERE userid = uid
AND remoteid = rid
)";
command.Parameters.AddWithValue("companyid", companyId);
command.Parameters.AddWithValue("remoteid", resourceId);
当查询执行时,我得到以下错误:
ERROR: 42703: column "uid" does not exist
我在做什么错?别名是否应该像这样使用,并可以在INSERT
声明中使用?
如果删除别名确实查询工作? – Taryn 2012-03-13 22:20:16
我需要能够在最内部选择语句的where子句中引用'uid' – ajbeaven 2012-03-13 22:22:01