从具有基于另一个表的条件的表中查询记录

时间:2016-02-17 12:57:59

标签: php mysql

是否可以使用基于另一个表的条件查询表中的记录?我不是很擅长MySQL JOIN,所以有人能指出我正确的方向吗?情况就是这样:

表1:tbl_users(id,username,points) 表2:tbl_items(id,user_id,title,cost)

我想查询所有user_ids的所有项目,但前提是它们的成本低于此user_id所拥有的点数。我知道我可以一个接一个地循环,但我正在寻找更聪明的方式。

谢谢,

3 个答案:

答案 0 :(得分:0)

根据用户ID加入两个表,并在其中添加您需要检查的条件。

SELECT * FROM `tbl_users` AS `user` 
LEFT JOIN `tbl_items` AS `item` ON (`user`.`id` = `item`.`user_id`) 
WHERE `item`.`cost` < `user`.`points`

答案 1 :(得分:-1)

SELECT `*` FROM `tbl_users` JOIN `tbl_items` ON (`tbl_users`.`id`= `tbl_items`.`user_id` and `tbl_items`.`cost`<`tbl_users`.`points`)

答案 2 :(得分:-1)

select a.* from tbl_users as a join tbl_items as b on a.id=b.id where a.points>b.cost;
相关问题