是否可以使用基于另一个表的条件查询表中的记录?我不是很擅长MySQL JOIN,所以有人能指出我正确的方向吗?情况就是这样:
表1:tbl_users(id,username,points) 表2:tbl_items(id,user_id,title,cost)
我想查询所有user_ids的所有项目,但前提是它们的成本低于此user_id所拥有的点数。我知道我可以一个接一个地循环,但我正在寻找更聪明的方式。
谢谢,
答案 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;