I am trying to run a nested mysql "IN" query. It returns null data. But when I am running query individually it returns data. Also when I write down the IN query data directly it works fine.
Here is the query - 1:
SELECT
regexp_replace (
GROUP_CONCAT(
DISTINCT package_vs_families.family_id SEPARATOR ', '
),
'[\][[:space:]-]',
""
) AS final_list
FROM
packages
LEFT JOIN package_vs_families ON (
packages.id = package_vs_families.package_id
)
LEFT JOIN package_vs_dealers ON (
packages.id = package_vs_dealers.package_id
)
WHERE
packages.assign_div LIKE "%6%"
AND package_vs_dealers.`div` = 6
AND packages.assign_dist LIKE "%\"51\"%"
AND package_vs_dealers.dist = 51;
Output:
"1710","1702","1642","2710","2725","2702","2690","2663","2642","2767",2767,2766,2765,2764,2763
query -2 where query-1 output data was given directly:
SELECT
*
FROM
families
WHERE
families.id IN ("1710","1702","1642","2710","2725","2702","2690","2663","2642","2767",2767,2766,2765,2764,2763);
Output:
+------+------------------+--------------+--------+
| id | card_no | institute_id | status |
+------+------------------+--------------+--------+
| 1642 | 3532990400001642 | 0 | 1 |
| 1702 | 3532990500001702 | 0 | 1 |
| 1710 | 3532990500001710 | 0 | 1 |
+------+------------------+--------------+--------+
This result is fine. But whin the IN data comes directly from query it comes null. Query-3:
SELECT
families.id
FROM
families
WHERE
families.id IN (
SELECT
regexp_replace (
GROUP_CONCAT(
DISTINCT package_vs_families.family_id SEPARATOR ', '
),
'[\][[:space:]-]',
""
)
FROM
packages
LEFT JOIN package_vs_families ON (
packages.id = package_vs_families.package_id
)
LEFT JOIN package_vs_dealers ON (
packages.id = package_vs_dealers.package_id
)
WHERE
packages.assign_div LIKE "%6%"
AND package_vs_dealers.`div` = 6
AND packages.assign_dist LIKE "%\"51\"%"
AND package_vs_dealers.dist = 51
);
Output:
null
Where is the issue....