MySQL コードの一部を Access に変換するのに非常に苦労しています。私が取り組んでいる Access プロジェクトの Sakila (MySQL) データベースにあるクエリの 1 つを使用しようとしています。
まず、GROUP_CONCAT 関数がまったく機能しません。いくつかの Google 検索の後、Access はこの機能をサポートしていないことがわかりましたが、有効な代替手段が見つかりませんでした。ただし、CONCAT はいくつかの「+」演算子に置き換えることができます。
次にトリプル LEFT JOIN が来て、演算子の欠落エラーを返し続けました。一連のブラケットがどのように役立つかを説明するブログ投稿を見つけましたが、これによりさらに問題が発生し、ブラケットを削除するように促され、その後、欠落した演算子エラーがさらにスローされました.
また、SEPARATOR も受け入れられないようですが、これは GROUP_CONCAT が機能していないことが原因である可能性があります。
私を正しい方向に進んでくれる人はいますか?私はこれに長い間苦労してきました。
SELECT
a.actor_id,
a.first_name,
a.last_name,
GROUP_CONCAT(DISTINCT CONCAT(c.name, ': ',
(SELECT GROUP_CONCAT(f.title ORDER BY f.title SEPARATOR ', ')
FROM film f
INNER JOIN film_category fc
ON f.film_id = fc.film_id
INNER JOIN film_actor fa
ON f.film_id = fa.film_id
WHERE fc.category_id = c.category_id
AND fa.actor_id = a.actor_id
)
)
ORDER BY c.name SEPARATOR '; ')
AS film_info
FROM
actor AS a
LEFT JOIN film_actor AS fa ON a.actor_id = fa.actor_id
LEFT JOIN film_category AS fc ON fa.film_id = fc.film_id
LEFT JOIN category AS c ON fc.category_id = c.category_id
GROUP BY a.actor_id, a.first_name, a.last_name