2017-09-14 95 views
0

如何显示印度与巴基斯坦,印度与斯里兰卡,印度与孟加拉国,孟加拉国与斯里兰卡,孟加拉国与巴基斯坦,巴基斯坦与斯里兰卡在下表中的结果?比较SQL Server表中的同一行

Teams 
------- 
India 
Pakistan 
Sri Lanka 
Bangladesh 

例如:

--Output: 
Bangladesh vs. India 
Bangladesh vs. Sri Lanka 
Bangladesh vs. Pakistan 
India vs. Sri Lanka 
India vs. Pakistan 
Pakistan vs. Sri Lanka 

回答

1

我猜你正在寻找非重复队比赛的组合。请尝试以下:

CREATE TABLE temp 
(
    Team VARCHAR(100) 
) 


INSERT INTO temp 
VALUES ('India'), 
('Bangladesh'), 
('Sri Lanka'), 
('Pakistan') 


SELECT t1.team + ' vs. ' + t2.team 
FROM temp t1 
CROSS JOIN temp t2 
where t1.Team < t2.Team 


DROP TABLE temp 

    Result 
    ----------- 
    India vs. Sri Lanka 
    India vs. Pakistan 
    Bangladesh vs. India 
    Bangladesh vs. Sri Lanka 
    Bangladesh vs. Pakistan 
    Pakistan vs. Sri Lanka