seller:
id, age, origin, gender, buyer_age, buyer_origin, buyer_gender
buyer:
id, age, origin, seller_age, seller_origin, seller_gender
这里我们建议买家从这个卖家购买
和
建议卖方向买方出售东西
与cronjob。
使用一个查询执行此操作是首选,而不是foreach卖家。最有效的方法是什么?我不想选择每一个并获取信息然后更改查询并再次选择这是编码和使用系统内存的查杀过程。如果有可能在下面的语句中使用join等,那么它就可以了
如果卖方或买方说年龄和来源对我来说并不重要,那怎么可能呢?有没有
WHERE seller_origin = ANY
在mysql中?
答案 0 :(得分:2)
首先更改买家和卖家中的所有列名称,以便在我们将加入表格时为其所在的表格的前缀添加前缀。
SELECT *
FROM seller
INNER JOIN buyer
ON
(seller.buyer_gender = buyer.gender OR seller.buyer_gender IS NULL) AND
(buyer.seller_gender = buyer.gender OR buyer.seller_gender IS NULL) AND
(seller.buyer_origin = buyer.origin OR seller.buyer_origin IS NULL) AND
(buyer.seller_origin = seller.origin OR buyer.seller_origin IS NULL) AND
(seller.buyer_age = buyer.age OR seller.buyer_age IS NULL) AND
(buyer.seller_age = seller.age OR buyer.seller_age IS NULL)