Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.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
如何使用join关键字连接SQL Server中的两个表_Sql_Sql Server_Join_Keyword - Fatal编程技术网

如何使用join关键字连接SQL Server中的两个表

如何使用join关键字连接SQL Server中的两个表,sql,sql-server,join,keyword,Sql,Sql Server,Join,Keyword,我不知道在以下情况下如何使用join关键字。我有两个表,我需要将它们合并到一个表中。这是密码 use DEV select top 10 Casa_de_marcat, Numar_bon, Data_bon from antetBonuri where Casa_de_marcat=1 order by Data_bon desc use DEV select top 10 Total, Data, Ora, Vi

我不知道在以下情况下如何使用join关键字。我有两个表,我需要将它们合并到一个表中。这是密码

use DEV

select top 10 
    Casa_de_marcat, 
    Numar_bon, 
    Data_bon 
from antetBonuri 
where Casa_de_marcat=1
order by Data_bon desc

use DEV

select top 10 
    Total, 
    Data, 
    Ora, 
    Vinzator 
from bp
order by Data desc
这是两个表的结果

Casa_de_marcat Numar_bon   Data_bon
-------------- ----------- -----------------------
1              NULL        2018-05-12 00:00:00.000
1              1           2018-04-13 00:00:00.000
1              NULL        2018-03-16 00:00:00.000
1              NULL        2018-03-16 00:00:00.000
1              1           2018-02-16 00:00:00.000
1              1           2018-02-05 00:00:00.000
1              NULL        2018-02-05 00:00:00.000
1              NULL        2018-02-05 00:00:00.000
1              10          2017-11-02 00:00:00.000
1              NULL        2017-09-29 00:00:00.000

(10 rows affected)

Total                  Data                    Ora    Vinzator
---------------------- ----------------------- ------ ----------
12                     2019-11-15 00:00:00.000 1150   naomi     
12                     2019-11-15 00:00:00.000 1150   naomi     
82                     2019-10-17 00:00:00.000 1035   MIHAI     
12                     2019-10-17 00:00:00.000 1038   MIHAI     
12                     2019-10-17 00:00:00.000 1043   MIHAI     
12                     2019-10-17 00:00:00.000 1044   MIHAI     
12                     2019-10-17 00:00:00.000 1044   MIHAI     
12                     2019-10-17 00:00:00.000 1053   MIHAI     
12                     2019-10-17 00:00:00.000 1105   MIHAI     
12                     2019-10-17 00:00:00.000 1108   MIHAI     

(10 rows affected)
最终结果应该是将上述所有列合并到一个表中,顺序不计算在内。
是的,我的错,我在使用SQL server

A
完全连接
技术上满足您的要求:

select ab.*, bp.*
from (select top 10 Casa_de_marcat, Numar_bon, Data_bon 
      from antetBonuri 
      where Casa_de_marcat = 1
      order by Data_bon desc
     ) ab full join
     (select top 10 Total, Data, Ora,  Vinzator 
      from bp
      order by Data desc
     ) bp
     on 1 = 0;  -- never matches
没有明显的
JOIN

这将生成包含所有列的20行。在每一行中,一组列(每个子查询)都将是
NULL

这似乎就是你想要的。我不知道这有多有用。或者为什么您更喜欢使用
JOIN
而不是
UNION ALL
来获取此信息

编辑:

我还想到,你可能想要10排并排。如果是,则使用
行编号()


这将产生10行,结果“并排”。两个表中的行的顺序是任意的。

您确定要使用MySQL吗?(前10名看起来像MS SQL Server代码。)如何加入?向我们展示这两个结果以及组合结果。(作为格式化文本,而不是图像)如果可能,请分享您的预期结果?
select ab.Casa_de_marcat, ab.Numar_bon, ab.Data_bon,
       bp.Total, bp.Data, bp.Ora, bp.Vinzator
from (select top 10 Casa_de_marcat, Numar_bon, Data_bon,
             row_number() over (order by (select null)) as seqnum
      from antetBonuri 
      where Casa_de_marcat = 1
      order by Data_bon desc
     ) ab full join
     (select top 10 Total, Data, Ora,  Vinzator, 
             row_number() over (order by (select null)) as seqnum
      from bp
      order by Data desc
     ) bp
     on ab.seqnum = bp.seqnum;