0

我无法从 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、application 获取数据,其中 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

我想要的结果,给了我我想要的所有记录,而没有 id_app 其中 id_user=2 in relasi_useraplikasi:

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

任何帮助将不胜感激

4

1 回答 1

0

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

如果您希望条件是不显示具有“relasi_useraplikasi.id_app”之一的行,则可以将“not in”与子查询一起使用。

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

于 2013-07-13T11:40:00.913 回答