如何使用mysql在两个表上应用搜索

时间:2015-10-23 09:39:59

标签: php mysql

您好我有两个表一个是父名单和子列表。

我必须通过parentname和childname对此表进行搜索。我已经提供了我的表格结构以便更好地理解,我必须在不同字段名称的两个不同字段上应用搜索。

父名单表中的字段名称为name,子列表表格中为childname

如果输入va,我想要输出以下输出,那么parentlist和childlist记录应该出现在该查询中,如下例所示。有了这个va Srting,我有一个 parentname varu123和childname varu123所以在执行查询后我想要这两条记录。

这是第一个带有fieldname

的表的名称
parentlist

............................................................
 id      name      mobilenumber  user_jid        email
............................................................
 1      varu123     123456         abc21        abc@gmail.com

 2      abhishesk   123456         abc21        def@gmail.com

 3      harsh        1234          def22        123@gmail.com

这是带有fieldname

的第二个表的名称
 childlist

..........................................
id user_id    childname     Shoolname  
...........................................
 1    1        ram            St.paul
 2    1        raj            St.xavier
 3    2        varu123        St.paul
 4    2        arun           St.xavier
 5    3        kapil          St.paul
 6    3        kamal          St.xavier

我想要这个输出:。

........................................................................................................
     id      name      mobilenumber  user_jid        email            childname        Shoolname
    ..........................................................................................................
     1      varu123     123456         abc21        abc@gmail.com       ram,raj         St.paul,St.xavier

     2      abhishesk   123456        abc21        def@gmail.com        varu123,arun    St.paul,St.xavier

2 个答案:

答案 0 :(得分:1)

select pl.*, GROUP_CONCAT(cl.childname), GROUP_CONCAT(cl.Shoolname)
from parentlist as pl
inner join childlist as cl on pl.id=cl.user_id
where pl.name like '%va%' or cl.childname like '%va%'

答案 1 :(得分:0)

使用MySQL inner join或其中: -

select * from parentlist inner join 
childlist on parentlist.id=childlist.user_id 
where childname='varu123' or parentlist.name='varu123'

使用MySQL inner join或类似: -

select * from parentlist inner join 
childlist on parentlist.id=childlist.user_id 
where childname like '%varu123%' or parentlist.name like '%varu123%'