首页 文章

php和mysql创建连接查询

提问于
浏览
2

我正在尝试创建一个连接查询 . 我正在忙于测验网站,我正在尝试显示用户未链接到的所有测试的列表 .

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

id = int

test_name = varchar

例:

1,Test1

2,Test2

3,Test3

Table2 (此表包含用户已链接到的用户ID和testid)

id = int

id_usrs = int

id_test = int

例如:1,1,1

2,1,2

So basically if my query works then from table2 just Test3 should show up on my result.

Query:

$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;
}

The question: 我需要显示table2中不在table1中的结果

1 回答

  • 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);
    

相关问题