[英]c# How to merge two data rows & columns into one in datatable by using ItemArray?
[英]How to merge two columns into one using c# or sql
抱歉,我确实是编程的新手,我正在尝试使用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开始的,然后从product2的4到8是这样的,它将继续计数,没有重复:
1个
2
3
4
5
6
7
8
这可能吗?
你可以尝试这个查询,使用union
select * from Product1
union
select * from Product2 NOT IN(SELECT CatID FROM Product1)
我不确定您想要什么,但是使用LINQ可以创建一个选择。 如果您向我们展示SQL代码,将非常有帮助。
像这样尝试:
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.