Oli*_*all 2 php mysql database join where
是否可以将WHERE添加到mysql JOIN语句中,例如:
$result = mysql_query("SELECT * FROM site_products JOIN site_trans ON site_products.product_count = site_trans.trans_inventory WHERE site_products.product_id = site_trans.trans_product");
Run Code Online (Sandbox Code Playgroud)
这可能吗?
是的,这是可能的,但您的查询可能无法提供所需的结果:
SELECT * FROM site_products
JOIN site_trans ON site_products.product_count = site_trans.trans_inventory
WHERE site_products.product_id = site_trans.trans_product
Run Code Online (Sandbox Code Playgroud)
相反,你应该把它写成一个额外的JOIN条件,就像这样
SELECT * FROM site_products
JOIN site_trans ON site_trans.trans_inventory = site_products.product_count
AND site_trans.trans_product = site_products.product_id
Run Code Online (Sandbox Code Playgroud)
您还可以添加WHERE子句
SELECT * FROM site_products
JOIN site_trans ON site_trans.trans_inventory = site_products.product_count
AND site_trans.trans_product = site_products.product_id
WHERE site_products.product_id = 2
Run Code Online (Sandbox Code Playgroud)