Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySql加入2个没有公共字段的查询_Mysql - Fatal编程技术网

MySql加入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

我对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 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]。。他没有说他想让这些桌子连在一起,也没有说可以。他希望在一个结果集中得到两个查询的结果。这样就形成了一个联盟。