product_to_category
p2c
包含 2 列:
category_id product_id
此表可能包含每个产品的多个条目,因此MAX (category_id)
是必需的。
category_to_google
c2g
包含 2 列:
category_id google_id
google_category
gc
包含 2 列:
google_id name
所以从 p2c 获取 MAX(category_id),
从 c2g 获取 google_id WHERE category_id = selected category_id,
最后从 gc WHERE google_id = selected google_id 获取名称
我似乎无法正确加入。
回答:
$query = $this->db->query("
SELECT name FROM {$this->prefix}google_category
WHERE google_id = (
SELECT google_id FROM {$this->prefix}category_to_google
WHERE category_id = (
SELECT MAX(category_id) FROM {$this->prefix}product_to_category
WHERE product_id = '" . (int)$product_id . "'
)
)");
这行得通,谢谢RC。
是否有可能把它变成一个很好的连接,它必须嵌套到现有的查询中?