MYSQL加入和分组

时间:2013-03-08 11:55:19

标签: mysql

我无法在MYSQL中使用表连接获得正确的语法。我有两张桌子如下......

primary_table

agent_id | primary_area | key
-----------------------------
   10    |xx1           | 1  
   11    |xx2           | 2  
   12    |xx3           | 3  
etc...


secondary_table

agent_id | sec_area     | key
-----------------------------
   34    |xx1           | 5  
   37    |xx1           | 6  
   38    |xx7           | 8  
etc...

我要做的就是搜索(例如)agent_id的两个表,其中xx1作为primary_area和'sec_area'中的值。我需要使用LIKE,因为这是一个搜索功能,用户可能希望搜索所有具有值xx的内容。

然后,返回的数据需要按agent_id分组并保存在数组中。

1 个答案:

答案 0 :(得分:1)

这个怎么样?

SELECT agent_id FROM primary_table WHERE primary_area LIKE "%1"
UNION
SELECT agent_id FROM secondary_table WHERE sec_area LIKE "%1"

Comment: how would I group the results by agent_id using UNION

SELECT
  p.id
FROM
  primary_table AS p
JOIN
  sec_table AS s
ON
  p.id=s.id 
WHERE
  p.area LIKE "%1" AND s.area LIKE "%1"

<强> SQL Fiddle