[英]How to Join MySQL Table
I need to add an additional join to a query but I'm not sure what to join it on. 我需要向查询中添加其他联接,但是我不确定要在其上联接什么。
SELECT DISTINCT * FROM {$this->prefix}category c
LEFT JOIN {$this->prefix}category_description cd
ON (c.category_id = cd.category_id)
LEFT JOIN {$this->prefix}category_to_store c2s
ON (c.category_id = c2s.category_id)
WHERE c.category_id = '" . (int)$category_id . "'
AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "'
AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "'
AND c.status = '1'
I need to now join my url_alias table via a column value like: 我现在需要通过像这样的列值来连接我的url_alias表:
SELECT keyword FROM {$this->prefix}url_alias
WHERE query = 'category_id=" . (int)$category_id . "'
-- EDITED TO CLARIFY -- -编辑以澄清-
This is for an OpenCart project that needs to simplify the url rewriting by adding the keyword to the existing category/product/manufacturer queries. 这是针对需要通过将关键字添加到现有类别/产品/制造商查询来简化URL重写的OpenCart项目。
How about this: 这个怎么样:
SELECT DISTINCT * FROM {$this->prefix}category c
LEFT JOIN {$this->prefix}category_description cd
ON (c.category_id = cd.category_id)
LEFT JOIN {$this->prefix}category_to_store c2s
ON (c.category_id = c2s.category_id)
LEFT JOIN {$this->prefix}url_alias u
ON u.query = CONCAT('category_id=', c.category_id)
WHERE c.category_id = '" . (int)$category_id . "'
AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "'
AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "'
AND c.status = '1'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.