[英]How to compare value between two column in one row, if different then create another row?
[英]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.