クエリ全体:
SELECT NULL,
ELT( MOD( A.contact_id, (SELECT count(*) FROM `ak_contact` WHERE `contact_type_id` = 12) )+1, (SELECT CONCAT( "'",GROUP_CONCAT(CAST(contact_id AS CHAR(7)) SEPARATOR "','"),"'" ) FROM `ak_contact` WHERE `contact_type_id` = 12) ) as operator_id,
B.account_id, A.contact_id, A.email
FROM ak_contact A
JOIN ak_accounts B USING (contact_id)
GROUP BY A.email, A.contact_id, B.account_id
ORDER BY A.contact_id DESC
サブクエリは、ID 番号 10493、10495、11262、11800、12362、13405 のいずれかを行ごとに 1 つずつ選択する必要があります。
ELT( MOD( A.contact_id, (SELECT count(*) FROM `ak_contact` WHERE `contact_type_id` = 12) )+1, (SELECT CONCAT( "'",GROUP_CONCAT(CAST(contact_id AS CHAR(7)) SEPARATOR "','"),"'" )
#result: ELT(MOD(3333, 5)+1, '10493','10495','11262','11800','12362','13405')
問題は、サブクエリで ELT(A.contact_id, subquery) を強制的に動作させることができないことです。または、次のようなものを作成する方法:
ELT(MOD(3333, 5)+1, '10493','10495','11262','11800','12362','13405')
メインクエリの内部