mySQL ПРИСОЕДИНЯЙТЕСЬ К ГДЕ? - PullRequest
2 голосов
/ 09 декабря 2011

возможно ли добавить 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");

это возможно?

Ответы [ 3 ]

8 голосов
/ 09 декабря 2011

да, это возможно, но ваш запрос может не дать желаемого результата:

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

Вместо этого вы должны написать это как дополнительное условие 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

Вы также можете добавить предложение 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
0 голосов
/ 29 апреля 2016

Да, это можно использовать, когда условие в MYSQL объединяет запросы. Даже если вы можете использовать несколько условий, где используется оператор AND.

0 голосов
/ 09 декабря 2011
SELECT * FROM site_products JOIN site_trans ON (site_products.product_count = site_trans.trans_inventory AND site_products.product_id = site_trans.trans_product)
WHERE 1
...