2017-04-06 53 views
0

对于表Y中的每一行,我需要表X中的当前行的副本,从表Y的字段1中获取。我需要在这里使用哪种连接?

谢谢大家!

表X

Field 1  Field 2 
null   A 
null   B 
null   C 

数据表Y

Field 1 
    1 
    2 
    3 

希望的输出

Field 1  Field 2 
    1   A 
    1   B 
    1   C 
    2   A 
    2   B 
    2   C 
    3   A 
    3   B 
    3   C 

回答

2

看起来像一个cross join

select y.field1, x.field2 
from x cross join 
    y; 
+0

完美!我正在经历所有我能想到的联结。完全错过了Cross交叉。谢谢! – hero9989

0

看起来像一个无条件选择两个表中没有匹配的IDS

喜欢的东西

select tableY.column1, tableX.column2 
from tableY, tableX 
order by tableY.column1 asc, tableX.column2 asc 

应该这样做。

顺便说一句。这是一个学校问题,因为那样我就不应该回答这个问题了。

+0

哈哈,别担心,我不是学生:)只需重新编写查询来简化问题。 – hero9989

0

尝试此查询:

SELECT #Tabley.Field1 , #TableX.Field2 
FROM #TableX ,#Tabley 
+1

虽然这段代码片段是受欢迎的,并且可能会提供一些帮助,但如果它包含* how *和* why *的解释](// meta.stackexchange.com/q/114762)问题。请记住,你正在为将来的读者回答这个问题,而不仅仅是现在问的人!请编辑您的答案以添加解释,并指出适用的限制和假设。 –