所有可能的字母组合

时间:2018-10-26 09:40:08

标签: sql tsql

我需要使用SQL Server在4个字符的单词中重复2个字母。

例如:如果2个字母是A,B

Result: 
AAAA
BBBB
ABBB
BBAA
AABB
AABB
and so on.
.
.

请帮助

2 个答案:

答案 0 :(得分:3)

两个字母的所有组合

DECLARE @t TABLE(Letter char(1))

INSERT @t(Letter)VALUES('A'),('B')

SELECT l1.Letter+l2.Letter+l3.Letter+l4.Letter Word
--SELECT CONCAT(l1.Letter,l2.Letter,l3.Letter,l4.Letter) Word
FROM @t l1
CROSS JOIN @t l2
CROSS JOIN @t l3
CROSS JOIN @t l4

答案 1 :(得分:0)

您可以为此使用CTE,因此不需要临时表:

with l as (
      select v.l
      from (values ('A'), ('B')) v(l)
     )
select (l1.l + l2.l + l3.l + l4.l) as result
from l l1 cross join
     l l2 cross join
     l l3 cross join
     l l4;