3

我有一个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_03and 49_965,它也“属于”49-国家
  • 第二个国家'5698-'没有指定区域,应该只返回记录value='5698-'

AAAA公司具有指定国家/地区记录的“过滤器”,但BIEW没有任何指定的国家/地区值。MYSQL 查询不能正常工作:

SELECT * FROM `table` WHERE (company='AAAA' OR company='BIEW') AND (value='5698-' OR value='49_01')
4

1 回答 1

0

如果我明白

SELECT * 
FROM `table` 
WHERE tourOP = 'AAAA' AND (val = '5698-' OR val = '49_01') OR tourOP = 'BIEW'
于 2012-10-12T00:33:36.253 回答