MySqlデータベースをSQLiteデータベースにエクスポートする必要があります。メディアから必要なデータのみを取得して、deSQLiteデータベースを可能な限り小さくします。
私は、最後のバージョンのエントリに関連し、公開されており、動物または植物のファイルではない、animalsMediasまたはplantsMediasのみを提供するクエリを持っています。
SELECT AM.*, max(A.version) AS version FROM animalsMedias AS AM INNER JOIN animals
AS A ON(AM.idAnimal = A.idAnimal AND A.filed = 0 AND A.published = 1) GROUP BY
A.idLanguaje, A.idVersion;
そして、関連するメディアのみを取得するために、前の選択の結果に関連するメディアのみを返す「メディア」テーブルでSELECTを作成しようとしているので、両方を「IN()」に入れますが、取得していますエラー:
#1241 - Operand should contain 1 column(s)
それがクエリです:
SELECT * from medias
WHERE idMedia IN(SELECT AM.*, max(A.version) AS version FROM
animalsMedias AS AM
INNER JOIN animals AS A ON(AM.idAnimal = A.idAnimal AND A.filed = 0
AND A.published = 1)
GROUP BY A.idLanguaje, A.idVersion)
OR idMedia IN(SELECT PM.*, max(P.version) AS version FROM plantsMedias AS PM
INNER JOIN plants AS P ON(PM.idPlant = P.idPlant AND P.filed = 0 AND P.published = 1)
GROUP BY P.idLanguaje, P.idVersion);
1つのオペランドのみを使用する必要がある場合、どうすれば「max(A.version)」を取得できますか?よく理解できれば、IN内には「IN(SELECTAM.idMediaFROM....」」のみが必要です。
アドバイスをありがとう、そして私の英語をお詫びします、私は最善を尽くします。