MySql加入2个没有公共字段的查询
我对2个表有2个查询MySql加入2个没有公共字段的查询,mysql,Mysql,我对2个表有2个查询 select something,something2 from database.table1 where id=1 select something from database.table2 where id=2 我如何加入这两个查询的结果 我需要这个,因为我只想在1个mysqldatareader中获得结果 编辑:这两个查询的列数不相等。对不起 提前感谢。如果列数相等且它们包含相同的数据类型,则可以使用UNION合并它们 select something from
select something,something2 from database.table1 where id=1
select something from database.table2 where id=2
我如何加入这两个查询的结果
我需要这个,因为我只想在1个mysqldatareader中获得结果
编辑:这两个查询的列数不相等。对不起
提前感谢。如果列数相等且它们包含相同的数据类型,则可以使用UNION合并它们
select something from database.table1 where id=1
UNION
select something from database.table2 where id=2
如果列数不同,则为列数较少的表添加额外的列作为null,如
Select Col1, Col2, Col3, Col4, Col5 from Table1
Union
Select Col1, Col2, Col3, Null as Col4, Null as Col5 from Table2
您的表没有“相等”字段,因此不能使用UNION 因此,这可能对你没有帮助:
(select clm1 from database.table1 where id=1)
UNION
(select clm2 from database.table2 where id=2);
但也许这就是你的答案:
SELECT t1.*,t2.* from table1 as t1,table2 as t2 where t1.id=1 AND t2.id=1;
连接表的方法有很多种。您没有详细说明预期的结果集。我猜是笛卡尔积:
SELECT t1.something, t1.something2, t2.something
FROM table1 t1, table2 t2
WHERE t1.id=1 AND t2.id=2;
这将选择一个元组,如下所示:
("something from t1", "something2 from t1", "something from t2")
使用unionuse select comments将它们连接起来。select comments具有不同的列数/您可能需要选择空字段,以便列向上排列。有许多不同的方法可以连接表。您能举一个结果集的例子吗?使用“选择注释”具有不同的列数您可以减少表中具有更多列的列选择。数据类型匹配吗?为什么向下。看到这个了吗?我没有投你反对票,其他人投了。目前正在测试你的答案+1。从技术上讲,您甚至不必为空值设置别名,因为联合中第一个选择的列名将用于整个结果集,后续值将按顺序位置放置在它们出现的任何位置。空值可以插入到需要的任何位置。马库斯,你没有正确阅读问题。也许下次在投票否决所有阅读理解能力好的人之前,你可以重读这个问题,以确保你知道发生了什么。OP专门尝试连接结果,而不是表。这正是UNION的作用。那么,请您详细说明一下为什么您认为表格和结果集之间存在差异?在中,联接操作没有区别。好吧,如果我有一个包含10个字段的表,并且我只选择了其中3个字段,那么这些是我的结果,而不是表。你可以看到这里的不同。。。我们对“关系”、“连接”和“联合”这三个术语有着不同的理解。关系表上任何操作的结果集仍然是一个关系。我对连接两种关系只有一种理解。工会是一个不同的组织。按照你的建议,我又读了一遍。考虑到两种不同关系的事实,我仍然坚持我的观点,笛卡尔积上的选择最有意义=连接。不,我们同意这些术语的含义。我完全理解你为什么这么说。但我想做的是根据OP所说的回答这个问题,我如何加入这两个问题的结果[sic]。。他没有说他想让这些桌子连在一起,也没有说可以。他希望在一个结果集中得到两个查询的结果。这样就形成了一个联盟。