如果有人可以在这里指出一个预先存在的问题,那就太好了。原来我很难找到这个案例。
查看SQL 小提琴进行修改。为了 SO 搜索能力,这里是模式和小提琴中的问题:
在我的用户表中,我对分配给用户的国家/地区有一个唯一约束(每个国家/地区不超过一个用户)。然而,他们可以住在他们选择的任何地方。
开始问题
我只想返回分配的国家和住所在记录中只出现一次的用户,在这种情况下是记录 4,其中列之间的重复也是不希望的,并且行之间没有重复。如何?!:)
CREATE TABLE users
(`id` int,
`country` varchar(255),
`domicile` varchar(255), UNIQUE(country)
)
;
INSERT INTO users
(`id`, `country`, `domicile`)
VALUES
# Duplicate across column and row
(1, "usa", "usa"),
(2, "canada", "usa"),
# Duplicate only across columns or no duplication
(3, "mexico", "mexico"),
(4, "uganda", "australia"),
# Duplicate only across rows
(5, "germany", "portugal"),
(6, "france", "portugal"),
(7, "spain", "portugal")
;
暂时搁置适当的设计会使这更容易。我只是想用已经处理的手工作。;)