从两个表中选择带有连接的数据

时间:2014-10-15 07:21:42

标签: php mysql laravel laravel-4 eloquent

我有两个名为table_atable_b的表。

table_a数据

id     name
1     sahadat
2     kamrul
3     Harish
4     Ilma
5     Martin
6     Ponting

table_b数据

id      table_a_id
1       2
2       5
3       1

现在我想从table_a这样选择数据

id       data
3        Harish
4        Ilma
6        Ponting

如何编写查询以获得此结果。

我尝试了什么

select * from `table_a` where `id` NOT IN (select table_a_id from table_b);

table_b有一些数据时,它可以正常工作。但是当table_b为空时,它会显示错误

3 个答案:

答案 0 :(得分:2)

select  * from table_a where id not in (select table_a_id from table_b);

答案 1 :(得分:0)

请使用以下查询。

SELECT t1.* FROM table_a AS t1 WHERE NOT EXISTS 
( SELECT * FROM table_b AS t2 WHERE t2.table_a_id = t1.id);

答案 2 :(得分:0)

试一试

mysql_query("SELECT * FROM table_a t1 WHERE NOT EXISTS 
    (SELECT * FROM table_b t2 WHERE t2.table_a_id = t1.id)");