SQL 将数字添加到 Select
SQL Add Numbers To Select
我有一个基本的 SELECT DISTINCT 语句,它是 returning 课程前缀列表(ENG、MAT、SCI 等...)。我希望 select 也 return 前缀后的一组数字 (100-500)。所以最终数据集将如下所示:
ENG 100
ENG 200
ENG 300
ENG 400
ENG 500
MAT 100
MAT 200
MAT 300
MAT 400
MAT 500
SCI 100
SCI 200
SCI 300
SCI 400
SCI 500
这是我提取课程前缀的原始脚本:
SELECT DISTINCT
LEFT(SECTIONS.EVENT_ID, charindex(' ', SECTIONS.EVENT_ID) - 1) as EVENT_ID
FROM SECTIONS
您可以 cross join
您当前的结果与数字列表生成所有可能的组合:
select s.event_id, v.num
from (
select distinct left(sections.event_id, charindex(' ', sections.event_id) - 1) as event_id
from sections
) s
cross join (values (100), (200), (300), (400), (500)) v(num)
或者,如果您想将 event_id
和数字连接在一列中:
select concat(s.event_id, ' ', v.num) new_event_id
from (
select distinct left(sections.event_id, charindex(' ', sections.event_id) - 1) as event_id
from sections
) s
cross join (values (100), (200), (300), (400), (500)) v(num)
我有一个基本的 SELECT DISTINCT 语句,它是 returning 课程前缀列表(ENG、MAT、SCI 等...)。我希望 select 也 return 前缀后的一组数字 (100-500)。所以最终数据集将如下所示:
ENG 100
ENG 200
ENG 300
ENG 400
ENG 500
MAT 100
MAT 200
MAT 300
MAT 400
MAT 500
SCI 100
SCI 200
SCI 300
SCI 400
SCI 500
这是我提取课程前缀的原始脚本:
SELECT DISTINCT
LEFT(SECTIONS.EVENT_ID, charindex(' ', SECTIONS.EVENT_ID) - 1) as EVENT_ID
FROM SECTIONS
您可以 cross join
您当前的结果与数字列表生成所有可能的组合:
select s.event_id, v.num
from (
select distinct left(sections.event_id, charindex(' ', sections.event_id) - 1) as event_id
from sections
) s
cross join (values (100), (200), (300), (400), (500)) v(num)
或者,如果您想将 event_id
和数字连接在一列中:
select concat(s.event_id, ' ', v.num) new_event_id
from (
select distinct left(sections.event_id, charindex(' ', sections.event_id) - 1) as event_id
from sections
) s
cross join (values (100), (200), (300), (400), (500)) v(num)