一个SQL语句

发布网友 发布时间: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

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com