SQL PHP - 根据多个列将记录从一个表匹配到另一个表

时间:2014-09-24 10:10:43

标签: php sql database

我有两张桌子:

TBL1:

+-------+-------+ 
| p_id  | f_id  |
+-------+-------+ 
| 1     | 2     | 
| 1     | 4     |   
| 2     | 1     |
| 3     | 4     |
| 4     | 1     | 
| 4     | 3     | 
+-------+-------+

TBL2:

+-------+-------+-------+ 
| u_id  | fname | lname | 
+-------+-------+-------+
| 1     | adam  | smith | 
| 2     | jon   | jones |
| 3     | sean  | dent  | 
| 4     | jack  | scott | 
+-------+-------+-------+

我的登录ID(php)是:

$user->id // this returns '3'

我需要为tbl1中的每个u_id返回tbl2中的每个p_id,其中没有$user->id(本例中为3),其中{{1} }}。例如,f_id应该,因为它在其中一个4中有3。我希望这是有道理的!!!非常感谢..

1 个答案:

答案 0 :(得分:1)

我认为此查询应该适合您。

SELECT u_id FROM tbl2 
WHERE u_id NOT IN 
(SELECT p_id FROM tbl1 
where f_id = $user);

您需要在PHP中构建查询,以便在SQL中归结为上述查询。