繁体   English   中英

选择比较另一个表中的字段的记录

[英]Select records comparing a field from another table

我有三张桌子

  1. 命令
  2. 成员
  3. 产品展示

在订单中,我有字段id, mem_id, date, prod_id, status ,其中mem_id来自members表,而prod_id来自products

在成员中,我有字段mem_id, name, phone, address, city, state, zip, country ,国家/地区持有国家/ country表中国家/ country ID

现在,我只想显示产品ID为2的orders表中的记录以及国家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

因此,它没有获取任何数据和查询中的问题。 请建议我,谢谢

使用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

您可以在列上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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM