繁体   English   中英

比较并提取剩余记录列表Php Mysql

[英]Compare and Extract Remaining Records List Php Mysql

大家好我正在研究像facebook这样的朋友系统我有以下表格: -

Table users
id
username
email
password
datecreated
etc....

Table friends
id
user1
user2
datemade

我的问题如下: -

  1. 如何获取不在朋友表中的记录(用户列表)(用户ID不在朋友表中)。 例如:-select *来自不在friends表中的用户
  2. 如何将用户ID与朋友表user1或user2中的其他两个字段进行比较

问题1。

SELECT * FROM users WHERE id NOT IN(SELECT id FROM  friends)

请提供表名及其相应列名和属性的清晰描述。

根据我的理解,下面是可能的解决方案。

1)从用户u,朋友f中选择*,其中f.user1 =“xyz”和f.user2 <> {select user1,user2 from friends where user1 =“xyz”或user2 =“xyz”};

注意:我没有测试过上面的查询。 如果发布任何错误,将尝试纠正。

2)首先,需要在两个表之间建立一些连接,即主键和外键,并且还需要归一化,然后可以进行比较。 从上表中可以看出两个表之间没有共同点,因此无法进行比较。 (我认为两个表中的id都不同。)


以下是您的疑问的答案: -

1.对于第一个问题,您必须使用以下查询。

SELECT * FROM users WHERE id NOT IN (SELECT id FROM friends)


希望它能解决你的问题。 期待评论,如果有的话
谢谢。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM