有多个字段以上相同的SQL怎么写?
比如说有个客户表,指定比较5个字段,查找有4个字段以上相同的客户找出来。我比较笨,用穷举OR的方法把它找出来,请问有没有更好的写法?多谢了。此类的SQL怎么处理效率比较高。
先根据一个客户的资料如下:
identityno='1'
custname='小刘'
mobileno='13888888888'
email='test@email.com'
phone='88123456'
去找和它类似的客户
SELECT C_CUSTNO FROM TCUSTOMER
WHERE (
(C_IDENTITYNO=identityno AND C_CUSTNAME=custname AND C_MOBILENO=mobileno AND C_EMAIL=email) OR
(C_IDENTITYNO=identityno AND C_CUSTNAME=custname AND C_MOBILENO=mobileno AND C_PHONE=phone) OR
(C_IDENTITYNO=identityno AND C_CUSTNAME=custname AND C_EMAIL=email AND C_PHONE=phone) OR
(C_IDENTITYNO=identityno AND C_MOBILENO=mobileno AND C_EMAIL=email AND C_PHONE=phone) OR
(C_CUSTNAME=custname AND C_MOBILENO=mobileno AND C_EMAIL=email AND C_PHONE=phone) OR
(C_IDENTITYNO=identityno AND C_CUSTNAME=custname AND C_MOBILENO=mobileno AND C_EMAIL=email AND C_PHONE=phone) );