私はほとんどの場合ORMを使用しているSQL初心者です。私は次のクエリで別名を持つ問題を抱えています:insertステートメントでエイリアスを使用する
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
私は、最も内側のselectステートメントのwhere節で 'uid'を参照できるようにする必要があります。 – ajbeaven