2010-08-26 112 views
1

我有一个datareader绑定一个sql select(与从table1 10列),我想附加另一个从table2 5个不同cols到这第一个sql选择,我不能做UNION作为它具有不同的列数(一个查询有10个,另一个返回5个列)。追加一个sql查询与另一

是否有任何其他方式来实现这一点,通过MySQL?

此外,我需要附加额外的5列基于条件,是否有通过mysql选择查询编写使用,如果然后在选择查询?

谢谢。

回答

1

与空值工会怎么样?下面的查询将删除两个数据集之间的重复项。

SELECT col1,col2,col3,col4 
FROM table1 
UNION ALL 
SELECT col1,col2,null,null 
FROM table2 

如果你想删除的每个数据集内重复使用下面的查询:

SELECT DISTINCT col1,col2,col3,col4 
FROM table1 
UNION ALL 
SELECT DISTINCT col1,col2,null,null 
FROM table2 

你可以使用任何你想要的col1和COL2后的默认值。

null,'none',''all should work。

+0

请记住,您可能需要UNION ALL,而不是UNION – nos 2010-08-26 17:49:36

+0

由于第二个查询中的空值,结果是否相同? – 2010-08-26 17:52:14

+0

当我做工会时,我在结果中得到重复吗? – Sharpeye500 2010-08-26 18:06:12