MySQL的。一列,两种不同的数据类型,多个查询位置

时间:2012-10-12 00:12:41

标签: mysql

我有一个mysql表结构:

uid     company     value

描述:
uid - > unical id
公司 - >公司的四个字母代码即。 AAAABIEW
价值 - >是两种不同类型数据的代码:国家或地区,其中:
country:"/[0-9]+\-/",即。 49 - ,结尾处的字符-表示这是区域值
region:"/[0-9]+\_[0-9]+/",即。 49_002 49_4 ,字符_表示这是一个国家/地区值

现在我要选择所有记录:

  • 有多个公司定义,即。 AAAA' OR 'BIEW'
  • 有多个国家/地区定义,即。 '49-' OR '5698-'
  • 上述第一个国家/地区指定了区域。我想仅搜索49_01,而不是49_0349_965,它们也属于49-国家/地区
  • 国家/地区'5698-'中的第二个没有指定区域,并且只应返回value='5698-'
  • 的记录

AAAA公司有“过滤器”指定国家/地区记录,但BIEW没有指定的国家/地区值。 MYSQL查询无法正常运行:

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

1 个答案:

答案 0 :(得分:0)

如果我理解

SELECT * 
FROM `table` 
WHERE tourOP = 'AAAA' AND (val = '5698-' OR val = '49_01') OR tourOP = 'BIEW'