我有一个包含多对多关系的表,我需要省略3种类型的属性(从0开始,从1开始并在属性中有 - )并且只选择只有1种属性的用户是一个字母数字字符串。
请告知如何在SQL中实现。
User Property
------ ----------
A1 0XXX
A1 1XXX
A1 X-XXX
A1 ABC2
A2 0XXX
A2 AC2B
A2 X-XXX
A3 0XXX
A3 1XXX
A4 DEF0
答案 0 :(得分:1)
您可以使用:
SELECT [User]
FROM tab
EXCEPT
SELECT [User]
FROM tab
WHERE LEFT(Property,1) IN ('0','1')
OR Property LIKE '%-%';
答案 1 :(得分:0)
SELECT * FROM <table>
WHERE user NOT IN
(
SELECT user FROM <table>
WHERE Property LIKE '%-%'
OR Property LIKE '0%'
OR Property LIKE '1%'
)
AND Property LIKE '%[^a-zA-Z0-9]%'