我正在对SQL查询进行一些练习,并且被困在这里。我创建了一堆不同的表,我想要一个表来检索不同的列(听起来很多余)。这里的关键是:我想从两个不同的表中选择与输出的列相关的所有信息。查询的第二张表包含与第三张表的列相对应的不同属性。
为此,我写了这个:
select l.output_name,
l.output_date,
(select *
from elt.attribute_key
where attribute = ('a', 'b', 'c')
)
from etl.output l
where l.version = 'local'
and l.country = 'DE'
它给了我错误,我认为是由于表之间不存在联接,但是我不知道应该在哪里添加。此外,我想知道自己处理得当。
感谢您的帮助和时间!
答案 0 :(得分:1)
好像您是说 CROSS JOIN ,所以,请使用:
select l.output_name, l.output_date,
a.*
from etl.output l
cross join elt.attribute_key a
where l.version = 'local'
and l.country = 'DE'
and a.attribute in ('a', 'b', 'c');