我有三张桌子
在订单中,我有字段id, mem_id, date, prod_id, status
,其中mem_id来自members
表,而prod_id来自products
表
在会员中,我有字段mem_id, name, phone, address, city, state, zip, country
,其中国家/地区包含来自country
表
现在,我想仅显示orders
表中的产品ID 2和来自国家/地区ID 25的members
的记录
我尝试过:
SELECT o.mem_id, o.prod_id, m.mem_id FROM orders o INNER JOIN members m ON m.mem_id = (SELECT mem_id FROM members WHERE country=25) WHERE o.prod_id=2
但它给出了:
Fatal error: Call to a member function fetch_assoc() on a non-object in
所以,它没有在我的查询中获取任何数据和问题。请建议我,谢谢
答案 0 :(得分:1)
使用ON condition
加入表格,然后像这样应用where condition
SELECT o.mem_id, o.prod_id, m.mem_id
FROM orders o
INNER JOIN members m
ON m.mem_id = o.mem_id
WHERE o.prod_id=2 and m.country=25
答案 1 :(得分:1)
您可以JOIN
列上的表格并在WHERE
子句中指定条件,例如:
SELECT o.mem_id, o.prod_id, m.mem_id
FROM orders o JOIN members m ON o.mem_id = m.men_id
WHERE o.prod_id = 2 AND m.country = 25;