我有一个mysql表结构:
uid company value
说明:
uid -> unical id
company -> 公司的四字母代码,即。AAAA
, BIEW
value -> 是两种不同类型数据的代码:国家或地区,其中:
国家:"/[0-9]+\-/"
,即。49- , 末尾的字符-
表示这是一个区域值
region: "/[0-9]+\_[0-9]+/"
, 即。49_002 , 49_4 , 字符_
表示这是一个国家值
现在我想选择所有记录,其中:
- 有多个公司定义,即。
AAAA' OR 'BIEW'
- 有多个国家定义,即。
'49-' OR '5698-'
- 上述国家中的第一个已指定区域。我只想搜索
49_01
而不是49_03
and49_965
,它也“属于”49-
国家 - 第二个国家
'5698-'
没有指定区域,应该只返回记录value='5698-'
该AAAA
公司具有指定国家/地区记录的“过滤器”,但BIEW
没有任何指定的国家/地区值。MYSQL 查询不能正常工作:
SELECT * FROM `table` WHERE (company='AAAA' OR company='BIEW') AND (value='5698-' OR value='49_01')