gpt4 book ai didi

sql - Postgres lateral join 引用输出行

转载 作者:行者123 更新时间:2023-11-29 13:01:30 26 4
gpt4 key购买 nike

我有以下设置:

CREATE TABLE A(id INT);
CREATE TABLE B(id INT);
CREATE TABLE C(aid INT, bid INT);

我想做以下事情:

INSERT INTO C SELECT A.id as aid, (SELECT B.id FROM B WHERE A.id=B.id) 
AS bid FROM A WHERE bid is not NULL;

但是它给出了列出价不存在的错误。那么有没有办法在横向连接中引用输出行或仅在 bid 不为空的情况下进行插入?

不过我想保留横向连接。

最佳答案

你不能像那样引用别名,你需要包装选择:

INSERT INTO C 
SELECT *
FROM (
SELECT A.id as aid,
(SELECT B.id FROM B WHERE A.id=B.id) AS bid
FROM A
) t
WHERE bid is not NULL;

关于sql - Postgres lateral join 引用输出行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28852010/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com