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) を取得します。
get google_id FROM c2g WHERE category_id = 選択された category_id,
最後に GC から名前を取得します WHERE google_id = 選択した 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に感謝します。
これを適切な結合にすることは可能ですか?既存のクエリにネストする必要がありますか?