sql两个字段唯一
发布时间: 2022-12-07 22:40:35
Ⅰ sql 字段唯一的约束方法 50分
把这两个字段建成主键
Ⅱ sql语法如何查两列中都是唯一的语句
有一个问题啊,如果存在两个都是入,那么算不算唯一,比如E0122,如果还有一个时间是20190102 入,那么E0122还算不算唯一。这样满足号码唯一,不太满足入唯一,不过要看你的具体需求,所以我不写这种情况了,只写号码和入只出现过一次的。
这个个人觉得写法有好多种
(1)利用你的写法
select * from BK_SQLE where 号码||'(1' in (SELECT 号码 ||'('||COUNT(1) FROM BK_SQLE GROUP BY 号码 ) and 出入='入'
其实何以嵌套三层,不过两层就可以,所以我就没写三层。另外||是oracle的连接符号,作用是a||b显示出来是ab,所以如果是其他数据库应该也有类似的函数,你看着用。‘(’是为了区分后面的1和前面号码的,只要用一个符号或字母区分就可以,不一定非要(符号。
(2)如果一个号码可能有两个入,那么下面这种方式要改动一下才能用
select * from BK_SQLE where 号码 not in (select 号码 from BK_SQLE where 出入='出')
其他方法还有,比如开窗函数也可以做(这种写起来可能比较麻烦,而且还需要试验),还有一种方式始终没怎么想明白,似乎可以又似乎不可以,自己都有点混酱酱的,这种就不写了。
热点内容