Sql server sql server无条件联接2个数据集

Sql server sql server无条件联接2个数据集,sql-server,Sql Server,我有两个不同查询的t个数据集 查询1输出: ProductId 1 查询2输出 Name ABC DEF GHI KLM 我想得到这样的结果: ProductId Name 1 ABC 1 DEF 1 GHI 1 KLM 我无法加入,因为我没有任何公用列。我不能做工会,因为它给了我不想要的空值。关于如何实现它的任何想法您想要的是一个交叉连接: SELECT ProductId, Name FROM table1 CROSS JOIN table2 输出是table1和table2

我有两个不同查询的t个数据集

查询1输出:

ProductId
1
查询2输出

Name
ABC
DEF
GHI
KLM
我想得到这样的结果:

ProductId Name
1  ABC
1  DEF
1  GHI
1  KLM

我无法加入,因为我没有任何公用列。我不能做工会,因为它给了我不想要的空值。关于如何实现它的任何想法

您想要的是一个
交叉连接

SELECT ProductId, Name
FROM table1
CROSS JOIN table2

输出是
table1
table2
行之间的笛卡尔积,您需要的是
交叉连接

SELECT ProductId, Name
FROM table1
CROSS JOIN table2
CREATE TABLE #Query1
(
    ProductId INT
)

INSERT INTO #Query1 VALUES(1)

CREATE TABLE #Query2 
(
    Name VARCHAR(10)
)

INSERT INTO #Query2 VALUES
 ('ABC')
,('DEF')
,('GHI')
,('KLM')


SELECT * 
FROM
#Query1 Q1 CROSS JOIN #Query2

输出是
表1
表2

行之间的笛卡尔积,尽管此代码可以回答该问题,但提供关于为什么和/或如何回答该问题的额外上下文将显著提高其长期价值。请在您的答案中添加一些解释。尽管此代码可能会回答此问题,但提供有关为什么和/或如何回答此问题的其他上下文将显著提高其长期价值。请在您的回答中添加一些解释。
CREATE TABLE #Query1
(
    ProductId INT
)

INSERT INTO #Query1 VALUES(1)

CREATE TABLE #Query2 
(
    Name VARCHAR(10)
)

INSERT INTO #Query2 VALUES
 ('ABC')
,('DEF')
,('GHI')
,('KLM')


SELECT * 
FROM
#Query1 Q1 CROSS JOIN #Query2