0

MYSQL のテーブル結合で構文を正しく取得するのに問題があります。私は以下のように2つのテーブルを持っています...

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...

私がやろうとしているのは、(たとえば)と 'sec_area' のagent_id両方の値として xx1 を持つ両方のテーブルを検索することです。primary_areaこれは検索機能であるため、使用する必要がありLIKE、ユーザーが vale を持つすべてのものを検索する可能性がありますxx

agent_id返されたデータは、グループ化して配列に保持する必要があります。

4

1 に答える 1

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 フィドル

于 2013-03-08T11:58:57.023 に答える