这似乎很简单,但由于某种原因,我无法让我的头泵出正确的SQL。我正在使用SQL Server 2008 R2。SQL选择查找只有2列值对应于只有1列ID
我有一个主键约束违反,我需要运行一个更新语句,而主键约束由6列放在一起构成一个唯一的。
我需要在main_id上做一个选择,并且只在main_id是相同的main_id时返回结果,但是main_id可以等于2个不同的document_id。
IE:寻找其中相同的唯一main_id = DOCUMENT_ID值10也是在相同的唯一main_id = DOCUMENT_ID值20
我的最终目的是wheverever说main_id = DOCUMENT_ID 10,我需要删除的行与document_id 10一样,仅留下具有document_id 20的行,因为main_id和document_id都是主键约束的PART。 “10”是垃圾,不应该在那里......只要我可以清理它,我可以运行我的更新声明来修复这个大混乱。
我试过在where子句中使用“IN”,但后来我得到了10和20的所有实例,我不想或不需要.......我只是简单地需要知道在哪里10和20与共享的main_id是一致的。
我认为一些示例数据会试图解释您尝试解决什么问题。 –