发布网友 发布时间:2022-04-26 07:36
共4个回答
懂视网 时间:2022-05-02 09:06
DECLARE menu_id VARCHAR(36); DECLARE done INT DEFAULT FALSE; DECLARE cursor_rule CURSOR FOR SELECT s.id FROM d_menu_type s ; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; OPEN cursor_rule; l : LOOP FETCH cursor_rule INTO menu_id; IF done THEN LEAVE l; END IF; BEGIN DECLARE property_id VARCHAR(36); DECLARE done2 INT DEFAULT FALSE; DECLARE cursor_rule2 CURSOR FOR SELECT property_id FROM d_menu_property l WHERE l.menu_id=menu_id; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done2 = TRUE; OPEN cursor_rule2; l2 : LOOP FETCH cursor_rule2 INTO property_id; IF done2 THEN LEAVE l2; END IF; END LOOP; CLOSE cursor_rule2; END; END LOOP; CLOSE cursor_rule; END
mysql双重循环示例
标签:efault sql arch false type continue div span class
热心网友 时间:2022-05-02 06:14
最简单的方法和是使用双重循环,例子代码如下:
$sql='select id,title from a';
if ($res=mysql_query($sql)){
while (list($id,$title)=mysql_fetch_row($res)){
echo "标题:$title 标签:";
$sql2="select b.tag from c join on c.t_id=b.t_id where c.title_id='$id'";
$res2=mysql_query($sql2);
while(list($tag)=mysql_fetch_row($res2)) echo "$tag ";
mysql_free_result($res2);
}
mysql_free_result($res);
} else echo "执行 $sql 出错:".mysql_error();
热心网友 时间:2022-05-02 07:32
select a.title,b.tag from a
join c on a.id=c.title_id
join b on b.t_id=c.t_id
----where XXX
这是典型的多对多的关系
设计很合理转化成两个一对多的关系
热心网友 时间:2022-05-02 09:07
select a.title,b.tag
from 表a a , 表b b, 表c c
where a.id = c.title_id
and b.t_id = c.tag_id