2011-11-03 85 views
2

我想创建连接查询。我忙于测验网站,我试图显示用户未链接到的所有测试的列表。php&mysql创建连接查询

表1(此表包含所有可用的测试列表)

ID = INT

TEST_NAME = VARCHAR

例如:

1,测试1

2,Test2

3,Test3的

表2(此表包含该用户已经连接到的用户ID和testid)

ID = INT

id_usrs = INT

id_test =诠释

例如: 1,1, 1

2,1,2

所以基本上,如果我的查询从表2的作品那么就应该Test3的出现在我的结果。

查询:

$sql0 = "SELECT table1.* FROM table1 LEFT JOIN table2 ON table1.id = table2.id_test WHERE table2.id_usrs = '$userid2' AND table2.id_test Is Null "; 
$result0 = mysql_query($sql0); 
while($row0 = mysql_fetch_assoc($result0)) { 

$test_name=$row['test_name']; 
echo $test_name; 
} 

问题:我需要显示从表2的结果这是不是在表1

+2

我在这里看到没有问题。陈述一个问题:D – abruski

回答

0

这应该是你的查询

SELECT * 
FROM table1 
WHERE table1.`id` NOT IN 
     (SELECT table1.`id` 
     FROM table1 
      JOIN table2 
      ON table1.id = table2.id_test 
     WHERE table2.id_usrs = 1);