【问题标题】:MySQL query to return recipients list of a userMySQL查询返回用户的收件人列表
【发布时间】:2013-06-11 12:43:42
【问题描述】:

我被 Mysql 查询卡住了
这是一张桌子

SNDR    |RCVR
--------+-------
admin   |bob
admin   |roy
roy     |admin
alice   |admin
admin   |eve
jesper  |admin
marco   |roy
bob     |eve

现在如果是私人消息,我想要用户管理员的收件人列表
这是 rcvr="admin" 的所有发件人以及 sndr="admin" 的所有 rcvr 但只有唯一值 我期待这样的结果

bob
roy
alice
eve
jesper

谁能帮我查询我要在 php 上使用它,数据库是 mysql 5.5.27

【问题讨论】:

  • 你听说过distinct 吗?
  • 为什么在标题中使用大写字母? =/
  • 你听说过 distinct :P 我正在使用两个查询 select distinct rcvr from msg where sndr="admin" select distinct sndr from msg where rcvr="admin" 我需要的是 union 。谢谢你们。

标签: php mysql sql database


【解决方案1】:

您应该能够使用 UNION 查询来获得结果:

select s.rcvr person
from yt s
where s.sndr = 'admin'
union 
select r.sndr
from yt r
where r.rcvr = 'admin';

SQL Fiddle with Demo

【讨论】:

    【解决方案2】:
    select SNDR 
    

    从表中 其中 RCVR = '管理员' 联盟 选择 RCVR 从表 其中 SNDR = '管理员'

    【讨论】:

      【解决方案3】:
      SELECT RCVR FROM TABLE WHERE SNDR='admin'
      UNION
      SELECT SNDR FROM TABLE WHERE RCVR='admin'
      

      【讨论】:

        猜你喜欢
        • 2016-04-20
        • 1970-01-01
        • 1970-01-01
        • 2015-11-08
        • 2016-11-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多