从多个表mysql中选择不同的值

时间:2013-07-13 11:32:15

标签: mysql select

我有问题从mysql中的某些表中检索不同的值。 这是我的疑问:

select profile_term.*,application_gmbr.gmb,application.name_app from
relasi_useraplikasi,
(profile_term inner join application_gmbr on
profile_term.id_app=application_gmbr.id_app) inner join application ON
profile_term.id_app=application.id_app
where relasi_useraplikasi.id_user='2' 
and application_gmbr.id_app not like relasi_useraplikasi.id_app 
and profile_term.id_app not like relasi_useraplikasi.id_app
and application.id_app not like relasi_useraplikasi.id_app 
GROUP BY application.id_app
order by score asc limit 5;

这不起作用我仍然在relasi_useraplikasi.id_app中获取id_app的值。

我想从profile_term,application_gmbr,app中获取数据,其中profile_term.id_app,application_gmbr.id_app,application.id_app与relasi_useraplikasi.id_app不同。

这是我的数据表:

1.profile_term

id_app||profile
================
  1        A
  2        B
  3        C
  4        D
  5        E

2.application_gmbr

 id_app||gmb
===============
   1      p1
   2      p2
   3      p3
   4      p4
   5      p5

3.应用

 id_app||name_app
===============
   1      app1
   2      app2
   3      app3
   4      app4
   5      app5

3.relasi_useraplikasi

 id_app||id_user
===============
   1      1
   2      2
   3      3
   4      4
   5      5

我想要的结果,在relasi_useraplikasi中给出了我想要的所有记录,而不是id_user = 2的id_app:

   id_app||profile|| gmb ||name_app
   ==================================
    1        A       p1      app1
    3        C       p3      app3
    4        D       p4      app4
    5        E       p5      app5

任何帮助都将不胜感激

1 个答案:

答案 0 :(得分:0)

“这不起作用我仍然在relasi_useraplikasi.id_app中获取id_app的值。”

如果您希望条件是没有显示具有其中一个'的行 relasi_useraplikasi.id_app'你可以在子查询中使用'not in'。

例如:'application_gmbr.id_app not in(select relasi_useraplikasi.id_app from relasi_useraplikasi)'