gpt4 book ai didi

sql - 添加伪列以使用连接查询进行选择,指示连接来自的表名

转载 作者:行者123 更新时间:2023-11-29 14:27:36 24 4
gpt4 key购买 nike

我正在使用 MyBatis 和 PostgreSQL,我需要使用 mybatis 鉴别器。我有 10 个表,我加入了一个 testcase 表。我想为每个连接添加一个具有不同值的伪列,以便我知道每个连接来自哪个表。然后我可以在 MyBatis 鉴别器中使用它。

我试过了,这显然不起作用,因为这会添加 2 列,其中每行都有 pseudo_name_1pseudo_name_2

SELECT tc.testcaseid,
tc.testname,

a.accessoryfilterid,
a.testcaseid,
a.accessoryid,
a.exclude
'pseudo_name_1' AS pseudo_column,


c.capabilityfilterid,
c.exclude,
c.testcaseid,
c.capabilityid,
'pseudo_name_2' AS psudo_column,

FROM testcase AS tc
FULL JOIN accessoryfilter a on tc.testcaseid = a.testcaseid
FULL JOIN capabilityfilter c on tc.testcaseid = a.testcaseid

我基本上想要 1 个伪列,其中具有 accessoryfilter 值的行的值为 pseudo_name_1 并且 capabilityfilter 的值具有值 伪名称_2

这在 postgres 中是否可行,如果可行,如何实现?

最佳答案

使用union all:

SELECT tc.testcaseid, tc.testname,
a.accessoryfilterid, a.testcaseid, a.accessoryid, a.exclude,
'pseudo_name_1' AS pseudo_column,
FROM testcase tc JOIN
accessoryfilter a
ON tc.testcaseid = a.testcaseid
UNION ALL
SELECT tc.testcaseid, tc.testname,
c.capabilityfilterid, c.exclude, c.testcaseid, c.capabilityid,
'pseudo_name_2' AS psudo_column
FROM testcase tc JOIN
capabilityfilter c
ON tc.testcaseid = c.testcaseid;

请注意,这也修复了第二个 JOIN 条件。

关于sql - 添加伪列以使用连接查询进行选择,指示连接来自的表名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56144904/

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