Sql server 2008 从同一联系人表中选择男性和女性的姓名
这是我的“联系人”表Sql server 2008 从同一联系人表中选择男性和女性的姓名,sql-server-2008,Sql Server 2008,这是我的“联系人”表 | Names | Gender | | Mike | Male | | Steve | Male | | Kelly | Female | | Jane | Female | | Natasha | Female | | Mathew | Male | | Jack | Male | 我想要这样的结果: |
| Names | Gender |
| Mike | Male |
| Steve | Male |
| Kelly | Female |
| Jane | Female |
| Natasha | Female |
| Mathew | Male |
| Jack | Male |
我想要这样的结果:
| Male | Female |
| Mike | Kelly |
| Steve | Jane |
| Mathew | Natasha |
| Jack | |
请给我解决方案,以实现这一结果在SQL服务器。。。
任何建议都将不胜感激
with Male as
(
select Names,
row_number() over(order by Names) as rn
from YourTable
where Gender = 'Male'
),
Female as
(
select Names,
row_number() over(order by Names) as rn
from YourTable
where Gender = 'Female'
)
select Male.Names as Male,
Female.Names as Female
from Male
full outer join Female
on Male.rn = Female.rn
不是您想要的确切结果,而是在没有其他列可供排序的情况下获得的最佳结果
Male Female
------- -------
Jack Jane
Mathew Kelly
Mike Natasha
Steve NULL
迈克和凯莉是如何或为什么配对的?为什么杰克没有得到任何结果?