gpt4 book ai didi

c# - 如何使用 C# 或 SQL 将两列合并为一列

转载 作者:行者123 更新时间:2023-11-30 22:32:45 25 4
gpt4 key购买 nike

抱歉,我真的是编程新手,我正在尝试使用 sql 将两个不同的列合并为一个列,但如果不可能,可以使用 c# 中的 sql 代码完成吗?我有两个表 Product1 和 Product2,这些表都有 CatID。

对于 Product1,CatID 包含

1
2
3

对于 Product2,CatID 包含

1
2
3
4
5

我使用 union 得到的结果是,如果它们具有相似的 id,它将合并为一个,使用 concat 它将复制成 like

1 1
2 2
3 3
4
5

但我想要的结果是 1 到 3 来自 product1,然后是 4 到 8 来自 product2,就像它会继续计数而不会重复:

1
2
3
4
5
6
7
8

这可能吗?

最佳答案

像这样尝试:

SELECT CatID, ...OtherColumns...
FROM Product1
UNION SELECT CatID, ...OtherColumns...
FROM Product2
WHERE Product2.CatID NOT IN(SELECT CatID FROM Product1)
ORDER BY CatID

(在这里测试:http://sqlfiddle.com/#!9/7887c):

CREATE TABLE T1(ID INT, txt VARCHAR(10));
INSERT INTO T1 SELECT 1, 'test A'
UNION SELECT 2, 'test B'
UNION SELECT 3, 'test C';

CREATE TABLE T2(ID INT, txt VARCHAR(10));
INSERT INTO T2 SELECT 1, 'test 1'
UNION SELECT 2, 'test 2'
UNION SELECT 3, 'test 3'
UNION SELECT 4, 'test 4'
UNION SELECT 5, 'test 5';

SELECT ID, txt
FROM T1
UNION SELECT ID, txt
FROM T2
WHERE T2.ID NOT IN(SELECT ID FROM T1)
ORDER BY ID

结果:

ID  txt
1 test A
2 test B
3 test C
4 test 4
5 test 5

关于c# - 如何使用 C# 或 SQL 将两列合并为一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33430366/

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