重复值
问题描述:
我有看起来像这样的重复值
TeacherNo TeacherName
1 Smith
2 Doe
我需要运行会产生输出看起来像这样的查询表中的数据。请注意下面的ProductID值只是我脚本中的硬编码值。
TeacherNo TeacherName ProductID
1 Smith ABC
1 Smith DEF
1 Smith GHI
2 Doe ABC
2 Doe DEF
2 Doe GHI
我知道我可以通过重复我的SQL语句,并都在做UNION做到这一点,但我不想重复我的代码,所以很多时候(在现实中,这些可以被重复最多每6次)
谢谢。
答
试试这个
SELECT *
FROM YOURTABLE
CROSS JOIN (VALUES ('ABC'),
('DEF'),
('GHI')) tc(product_id)
答
你可以像下面
Create table #dummytbl(ProductId nvarchar(50));
INSERT INTO #dummytbl VALUES ('ABC');
INSERT INTO #dummytbl VALUES ('DEF');
INSERT INTO #dummytbl VALUES ('GHI');
select i.TeacherNo, i.TeacherName, d.ProductId from Teacher i
inner join #dummytbl
order by i.TeacherNo;
+1
我相信你需要一个ON状态,其中** RHS = LHS **(ie)'1 = 1'或''A'='A'' –
+0
是的,我错过了。穿上1 = 1 – Ravi
这完美地工作! – user3513237