我需要使用什么SQL查询来获取基于公共参考编号的替代零件清单。以下示例中的公共引用是ELS,尽管实表超过100,000行,带有变量引用。
表A
**Reference Part**
ELS test1
ELS test2
ELS test3
结果
**Part Alternative Part**
test1 test2
test1 test3
test2 test1
test2 test3
test3 test1
test3 test2
答案 0 :(得分:2)
您可以使用cross join
:
select t1.part, t2.part
from t t1 join
t t2
on t1.els = t2.els and t1.part <> t2.part;
答案 1 :(得分:2)
这可以通过简单的自联接来完成
create table #test (reference varchar(10), part varchar(10))
insert into #test values ('ELS', 'test1'), ('ELS', 'test2'), ('ELS', 'test3')
select t1.part as part,
t2.part as alternate_part
from #test t1
inner join #test t2 on t1.reference = t2.reference
where t1.part <> t2.part
order by 1
drop table #test
结果就是这个
part alternate_part
---- --------------
test1 test2
test1 test3
test2 test1
test2 test3
test3 test1
test3 test2