我有一个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_03and49_965,它也“属于”49-国家 - 第二个国家
'5698-'没有指定区域,应该只返回记录value='5698-'
该AAAA公司具有指定国家/地区记录的“过滤器”,但BIEW没有任何指定的国家/地区值。MYSQL 查询不能正常工作:
SELECT * FROM `table` WHERE (company='AAAA' OR company='BIEW') AND (value='5698-' OR value='49_01')