简体   繁体   English

如何加入MySQL表

[英]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.

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