Согласно source_id
, я получаю повторяющиеся строки. Это происходит потому, что post_title повторяется более двух раз в некоторых строках, поэтому оператор where не находит уникального совпадения
WHERE english_post_images.post_title = french_posts.post_title
Как мне написать этот оператор SQL так, чтобы source_id
был уникальны и не повторяются source_id
строк?
SELECT
english_post_images.provider,
english_post_images.region,
english_post_images.bucket,
english_post_images.path,
english_post_images.original_path,
english_post_images.is_private,
english_post_images.source_type,
french_posts.id source_id,
french_posts.post_title,
english_post_images.source_path,
english_post_images.original_source_path,
english_post_images.extra_info
FROM
wp_posts french_posts
LEFT JOIN
wp_as3cf_items s3_table ON s3_table.source_id = french_posts.id
AND s3_table.source_id IS NULL
AND french_posts.post_type = 'attachment'
JOIN
(SELECT
s3_table_inner.provider,
s3_table_inner.region,
s3_table_inner.bucket,
s3_table_inner.path,
s3_table_inner.original_path,
s3_table_inner.is_private,
s3_table_inner.source_type,
s3_table_inner.source_path,
s3_table_inner.original_source_path,
s3_table_inner.extra_info,
s3_table_inner.source_id source_id,
english_posts.id post_id,
english_posts.post_title,
english_posts.post_type,
english_posts.post_name
FROM
wp_posts english_posts
INNER JOIN wp_as3cf_items s3_table_inner ON s3_table_inner.source_id = english_posts.id
WHERE
english_posts.post_type = 'attachment') english_post_images
INNER JOIN
wp_icl_translations translations_posts_join ON translations_posts_join.element_id = french_posts.id
AND translations_posts_join.language_code = 'fr'
AND translations_posts_join.element_type = 'post_attachment'
WHERE
english_post_images.post_title = french_posts.post_title