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

时间:2015-02-26 05:08:14

标签: php mysql

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

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

Table friends
id
user1
user2
datemade

我的问题如下: -

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

3 个答案:

答案 0 :(得分:0)

问题1。

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

答案 1 :(得分:0)

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

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

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

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

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

答案 2 :(得分:0)

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

1.对于第一个问题,您必须使用以下查询。即
SELECT * FROM users WHERE id NOT IN (SELECT id FROM friends)


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