重复值

问题描述:

我有看起来像这样的重复值

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) 

SQL FIDDLE DEMO

+0

这完美地工作! – user3513237

你可以像下面

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