2011-08-26 60 views
1

我想在我的mysql存储过程中使用","来打乱查询结果。我怎样才能做到这一点?如何爆炸mysql5存储过程中的查询结果?

例如,

CREATE DEFINER=`root`@`%` PROCEDURE mysp() 

BEGIN 

    DROP TABLE IF EXISTS temp; 
    CREATE TABLE temp (ids INT(11) , typeid INT(11)); 

    INSERT INTO temp SELECT id,typeid FROM table_mine1 ..etc 

    INSERT INTO temp SELECT id,typeid FROM table_mine2 ..etc 

这个我想获取从临时表中所有的“IDS”,并使其为逗号分隔后。

因为我需要写一个其他查询这样

DELETE FROM main_table WHERE ids NOT IN (comma separated ids of temp table.) 

所以任何机构可以帮助我如何使用逗号内爆我的临时表的编号吗?

感谢

回答

1

我认为你可以做到这一点 -

DELETE mt FROM 
    main_table mt 
LEFT JOIN temp t 
    ON mt.id = t.id 
WHERE 
    t.id IS NULL; 

该查询将删除所有MAIN_TABLE记录不以临时表存在。用逗号分隔的ID不需要。

相关问题