Nested Mysql Query blank data comes

Viewed 17

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....

0 Answers
Related