Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.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
Sql server 2012 从多个不带联接sql的表中选择数据_Sql Server 2012 - Fatal编程技术网

Sql server 2012 从多个不带联接sql的表中选择数据

Sql server 2012 从多个不带联接sql的表中选择数据,sql-server-2012,Sql Server 2012,我有两个SQL表。表A和表B。这两个表分别有10000条记录 表A中有3列=> A列,B列,C列 表B中有3列=> 柱状物,柱状物,柱状物 我的要求是选择ColumnA和ColumnD及其原始记录(10000) 我的问题是如何仅选择ColumnA和ColumnD 第一个问题是我不能连接这两个表,因为这两个表是分开的 第二个问题是我不能合并这两个表,因为我的要求是得到两列,但当我合并时,我只有一列合并了两列。您可以通过行编号创建一个动态联接列,然后在该列上联接: WITH cte1 AS (

我有两个SQL表。表A和表B。这两个表分别有10000条记录

表A中有3列=>

A列,B列,C列

表B中有3列=>

柱状物,柱状物,柱状物

我的要求是选择ColumnA和ColumnD及其原始记录(10000)

我的问题是如何仅选择ColumnA和ColumnD

第一个问题是我不能连接这两个表,因为这两个表是分开的


第二个问题是我不能合并这两个表,因为我的要求是得到两列,但当我合并时,我只有一列合并了两列。

您可以通过
行编号
创建一个动态联接列,然后在该列上联接:

WITH cte1 AS (
    SELECT ColumnA, ROW_NUMBER() OVER (ORDER BY ColumnA) rn
    FROM TableA
),
cte2 AS (
    SELECT ColumnD, ROW_NUMBER() OVER (ORDER BY ColumnD) rn
    FROM TableB
)

SELECT t1.ColumnA, t2.ColumnD
FROM cte t1
INNER JOIN cte t2
    ON t1.rn = t2.rn;

当然,这只是使用A和D列中的任意顺序对10K记录进行配对。如果您对这两列应该如何配对有一些特定的逻辑,请告诉我们。最重要的是,你不能轻易摆脱连接或并集的概念,将这两个列组合在一起。

谢谢你的观点,尽管你的答案是我要求的100%,但在稍作修改后,我得到的结果是因为你的观点。因此,我将把这标记为一个答案。