以下のようなストアド プロシージャがあります。
create procedure composite(IN a varchar(255),IN b varchar(255),IN c datetime,IN d datetime)
begin
DECLARE str VARCHAR(255);
DECLARE count float;
SET str = '';
SET str = CONCAT("aname like '%",a,"%' "," and bname ='",b,"' ");
set @comp = CONCAT("SELECT * from abc where ",str, "GROUP BY qname");
PREPARE stmt FROM @comp;
EXECUTE stmt;
set count = found_rows();
SET STR1 = CONCAT("aname like '%",a,"%' "," and bname ='",b,"' ");
SET @sql = CONCAT("SELECT * from xyz",str,"GROUP BY DATE(FROM_UNIXTIME(abcdate)),qname");
PREPARE stmt FROM @sql;
EXECUTE stmt;
end//
これを実行すると、出力として 2 つの結果セットが得られます。つまり、2 つの select ステートメントを実行した結果です。最後の選択のみの出力が必要です。これを行う方法はありますか?