在SQL查询中重复值

use*_*237 2 sql-server

我有一个表格中的数据,看起来像这样

TeacherNo  TeacherName
1          Smith
2          Doe
Run Code Online (Sandbox Code Playgroud)

我需要运行一个查询,产生看起来像这样的输出.请注意,下面的ProductID值只是我脚本中的硬编码值.

TeacherNo  TeacherName  ProductID
1          Smith        ABC
1          Smith        DEF
1          Smith        GHI
2          Doe          ABC
2          Doe          DEF
2          Doe          GHI
Run Code Online (Sandbox Code Playgroud)

我知道我可以通过重复我的sql语句和UNION ALL来做到这一点,但是我不想重复我的代码这么多次(实际上这些可能重复多达6次)

谢谢.

Pரத*_*ீப் 6

试试这个

SELECT *
FROM   YOURTABLE
       CROSS JOIN (VALUES ('ABC'),
                          ('DEF'),
                          ('GHI')) tc(product_id) 
Run Code Online (Sandbox Code Playgroud)

SQL FIDDLE DEMO