繁体   English   中英

如何在MSSQL中将两个不同的列进行比较

[英]How to compare two different column for opposite of one another in mssql

我有一个关系表的结果集。 我正在将他们的数据从一种模式转换为另一种模式。 有关系表作为每个人的关系行。 因此,例如,如果Bill知道bob,则存在一行具有contactid和contactid1的行。

Contactid是关系中的主要人员。 在他们的系统中,鲍勃需要有一个单独的行,以他为主行。

所以他们数据库中的行看起来像这样

Contactid | Contactid1 | Description
123       | 456        |Gold Club Dinner
456       | 123        |Gold Club Dinner

而在我的架构中,关系看起来像这样

Contactid | Contactid1 | Description
123       | 456        |Gold Club Dinner

我需要知道一种在第一个数据库中获得每个组的前1名的方法,这样我就不会在表结构中得到成千上万个重复项。

有任何想法吗?

尝试这个

select distinct
    case when contactID<contactID1 then contactID else contactID1 end , 
    case when contactID<contactID1 then contactID1 else contactID end ,
    description
from yourtable

但是,我认为这两种设计都是错误的,应该规范化。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM