我想从两个表中收集ID,合并这些表以在语句中使用它们来找出计数(*),如下所示:
drop function if exists listing_count;
create function listing_count(parent int(11)) returns int(11) deterministic
begin
declare count int(11) default 0;
declare ARRAY1;
declare ARRAY2;
set ARRAY1=(select id from category1);
set ARRAY2=(select id from category2);
set count=(select count(*) from listing_category where category in(ARRAY1+ARRAY2));
return count;
end
是否可以设置和声明所选结果(array1和array2)以供以后使用?我不想将所有内容都合并到一个查询中。
1条答案
按热度按时间gab6jxml1#
mysql没有数组,只能在一个变量中存储一个值。可以在中使用子查询
WHERE category IN
,和UNION
把这两张table合起来。或者使用
JOIN
: