gpt4 book ai didi

sql - 使用 Union with Insert 添加一行

转载 作者:行者123 更新时间:2023-12-02 07:02:13 25 4
gpt4 key购买 nike

我有一个查询,它由两个 select 语句组成,中间有一个联合。这适用于我需要的东西。但是,缺少一个我想手动输入的值。我正在寻找的是:

select * from tab1
union
select * from tab2
union
insert values('John',cast('2013-01-01' as date), 'Jim', 130)

不幸的是,这不起作用。有人可以建议我怎么做吗?我正在使用 Teradata。

最佳答案

你需要继续选择:

select * from tab1
union
select * from tab2
union
select 'John', cast('2013-01-01' as date), 'Jim', 130 from dual

dual 这个名字在 Oracle 中用于一行(一列)的表。根据您使用的 DBMS,您可以完全省略最后的 FROM(您也可以在 Oracle 中这样做):

select * from tab1
union
select * from tab2
union
select 'John', cast('2013-01-01' as date), 'Jim', 130

或者您可能必须从系统目录表中进行选择并确保返回一行(FROM systables WHERE tabid = 1 是 Informix 中的经典机制,尽管您也可以使用 'sysmaster':sysdual 而不是 dual 等),或者您可以从任何其他表中选择保证一行的查询。可能也有一些方法可以使用 VALUES 子句来实现。

注意从双引号到单引号的变化。在严格的标准 SQL 中,双引号包含分隔标识符,但单引号包含字符串。

关于sql - 使用 Union with Insert 添加一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18543053/

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