0

在我们的聊天应用程序中,以下是这种情况,在两种情况下,有一个人“A”与人“B”聊天,1)一对一聊天和 2)群聊。所以在数据库中的记录如下,

表:核心

  id   name
   1    A
   2    B
   3    C

表:

  id    core_id 
  1       1
  2       2

表:收件人

 id    core_id    master_id
  1       1        1 
  2       2        1
  3       1        2
  4       2        2
  5       3        2

所以在接收者表中,我们有 2 个“A”条目。现在的问题是,我想要 master_id = 1 表格接收者表,其中“A”和“B”人进行通信。但是接收者表中有两个条目。那么如何获得该ID?

4

1 回答 1

0

目前尚不清楚您要问什么,并且您的表名无助于使这一点更清晰。但是,我怀疑您仅根据 master_id 从收件人表中选择记录,并且需要与其他表连接,以便您还可以在查询中包含名称。

因此,考虑到这一点,请尝试以下操作(警告:我尚未对此进行测试,并且我使用的是 Oracle 而不是 mysql)但是:

select * 
from core c, master m, recipient r
where c.id = m.core_id
and   c.id = r.core_id
and   m.id = r.master_id
and   c.name = 'A'

在有人抱怨这个 sql 不遵循最新的 ANSI 标准之前,我就是这样做的,它对我有用!

于 2012-07-20T10:59:06.393 回答