Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 选择好友提醒_Mysql_Sql - Fatal编程技术网

Mysql 选择好友提醒

Mysql 选择好友提醒,mysql,sql,Mysql,Sql,所以问题是我的userid是USERID3,USERID2是我的朋友 因此,我想选择我的所有朋友MSG表警报 这是我的问题 I HAVE TABLE USER USERID NAME 1 JOHN DEO 2 JANE DEO 3 FRED DEO TABLE ALERTS ID USERID MSG 1 USERID3 HELLO 1 2 USERID1 HELLO 2 3

所以问题是我的userid是USERID3,USERID2是我的朋友 因此,我想选择我的所有朋友MSG表警报

这是我的问题

I HAVE TABLE USER 

USERID    NAME
1        JOHN DEO
2        JANE DEO
3        FRED DEO


TABLE ALERTS

ID   USERID        MSG

1    USERID3       HELLO 1
2    USERID1       HELLO 2
3    USERID3       HELLO 3
4    USERID2       HELLO 4



TABLE FRIENDS

ID   USERID      FRIEND

1    USERID3     USERID2
所以我想从我的朋友那里得到味精,我的朋友也得到我的味精


我们彼此共享消息

您可以在操作符中的
之后的子查询中使用
UNION ALL

SELECT msg
  FROM alerts IN (SELECT 
                    FROM friends
                   WHERE userid = 'USERID3' OR friend = 'USERID2')

如果我有很多朋友并且想去那里,那么使用这行选择friends FROM friends WHERE friend='USERID2',因为这似乎只选择了一个朋友,但问题并不像你在这里评论的那样,似乎你需要提供更多细节@moblatom友谊的确切标准是什么?我举了一个例子,如果我选择了一个朋友,但是假设我有多个朋友,那么这个查询可以检索到我朋友的所有消息吗?当然,如果声明了正确的条件,它可以检索到。您可以根据@moblatom的提示编辑问题
SELECT msg
  FROM alerts
 WHERE userid IN (SELECT friend FROM friends WHERE friend = 'USERID2'
                   UNION ALL
                  SELECT userid FROM friends WHERE userid = 'USERID3')