select a.*
from (
select a.bmno,a.bmcode,a.bmposition,a.bmname,a.bmdesc,a.bmtype,a.disptype,a.isuseopening,a.isreply,a.isopen,a.isdefault,a.cdt,a.udt
,a.bmno value,a.bmname text
,b.asno,b.asname
,row_number() over(order by $orderby$ a.cdt desc ) rno
,count(a.cno) over() pagetotalcount
from boardmaster a
left outer join assign b on b.asno=a.asno
a.bmno=#bmno#
a.bmno in ($bmnos$)
a.bmposition=#bmposition#
a.bmtype=#bmtype#
a.disptype=#disptype#
a.bmname=#bmname#
a.bmcode=#bmcode#
a.isopen=#isopen#
a.asno=#asno#
a.isdefault in ($isdefaults$)
a.isdefault =#isdefault#
) a
order by a.rno
select a.*
from (
select a.bmno,a.bmcode,a.bmposition,a.bmname,a.bmdesc,a.bmtype,a.disptype,a.isuseopening,a.isreply,a.isopen,a.isdefault,a.cdt,a.udt
,a.bmno value,a.bmname text
,b.asno,b.asname
,row_number() over(order by $orderby$ a.cdt desc ) rno
,count(a.cno) over() pagetotalcount
from assign a0
inner join boardmaster a on a.asno=a0.asno
and a.isdefault=#isdefault#
left outer join assign b on b.asno=a.asno
where a0.isdel=0
a0.subdomain=#subdomain#
) a
order by a.rno
select a.opno,a.bmno,a.opname,a.isuse,a.dsort
,a.opno value,a.opname text
from boardmasteropening a
where a.bmno=#bmno# and a.isdel=0
order by a.dsort,a.cdt
select a.bmno
from boardmaster a
a.bmno <> #bmnonot#
a.bmcode=#bmcode#
insert into boardmaster (bmcode,bmposition,bmname,bmdesc,bmtype,disptype,isuseopening,isreply,isopen,isdefault, )
values (#bmcode#,#bmposition#,#bmname#,#bmdesc#,#bmtype#,#disptype#,#isuseopening#,#isreply#,#isopen#,0, );
SELECT LAST_INSERT_ID()
update boardmaster set
,bmname =#bmname#
,bmdesc =#bmdesc#
,bmtype =case when isdefault>0 then bmtype else #bmtype# end
,disptype =case when isdefault>0 then disptype else #disptype# end
,isuseopening =#isuseopening#
,isreply =#isreply#
,isopen =case when isdefault>0 then isopen else #isopen# end
where bmno=#bmno#
update board set rcount = rcount +1 where bno=#bno#
update boardmasteropening set isdel=1 where bmno=#bmno# opno not in ($opnosnot$)
insert into boardmasteropening (bmno,opname,isuse,isdel,dsort,cdt,cno,udt,uno,uip)
values $inquery$;
update boardmasteropening a
inner join (
select #BMOs[].opno# opno, #BMOs[].opname# opname,#BMOs[].isuse# isuse,#BMOs[].dsort# dsort
) b on b.opno=a.opno
set a.opname=b.opname,a.isuse=b.isuse,a.dsort=b.dsort,udt=now(),uno=#uno#,uip=#uip#
where a.bmno=#bmno#
update boardmaster set ,isopen=1 where bmno in (select bmno from (select bmno from boardmaster where asno=#asno# and isdefault=3) a);
insert into boardmaster (bmcode,bmposition,bmname,bmdesc,bmtype,disptype,isuseopening,isreply,isopen,isdefault,asno, )
select concat('assignnotice_',#asno#),0,'공지사항',null,0,0,0,1,1,3,#asno#,
from (select 1 col1) a
left outer join boardmaster b on b.asno=#asno# and b.isdefault=3
where b.bmno is null;
update boardmaster set ,isopen=0 where bmno in (select bmno from (select bmno from boardmaster where asno=#asno# and isdefault=3) a)
SELECT a.rno, a.pagetotalcount, a.pcno
, e.asname
, c.bmno, c.bmname, c.isuseopening, c.isreply, c.bmtype
, f.opname
, b.cno, b.bno, b.pbno, b.subject, b.istop, b.issecr, b.cdt, d.username cnoname, d.userid cnoid
, b.rcount, b.rpcount, b.fgno, b.fgnothumb, CASE WHEN #getcontents# IS NULL THEN '' ELSE b.contents END contents
, d.usertype
, g.fileurl
FROM (
SELECT a.*
FROM (
SELECT b.bno
, ROW_NUMBER() OVER(ORDER BY $orderby$ b.istop DESC, CASE WHEN b.pbno IS NULL THEN b.cdt ELSE b2.cdt END DESC, CASE WHEN b.pbno IS NULL THEN 0 ELSE 1 END ) rno
, COUNT(a.cno) OVER() pagetotalcount, b2.cno pcno
FROM boardmaster a
INNER JOIN board b ON b.bmno = a.bmno
AND b.bno = #bno#
AND b.isdel = 0
AND b.opno = #opno#
AND b.isopen = #isopen#
AND b.issecr = #issecr#
AND b.opno = #opno#
b.pbno IS NULL
b.cno = #cno#
b.cmno = #cmno#
a.bmposition = #bmposition#
LEFT OUTER JOIN board b2 ON b.pbno IS NOT NULL AND b2.bno = b.pbno
INNER JOIN users c ON c.userno = b.cno
a.bmno = #bmno#
a.asno = #asno#
(b.subject LIKE CONCAT('%',#scc#,'%') OR b.contents LIKE CONCAT('%',#scc#,'%') OR c.username = #scc#)
) a
) a
INNER JOIN board b ON b.bno = a.bno
INNER JOIN boardmaster c ON c.bmno = b.bmno
INNER JOIN users d ON d.userno = b.cno
LEFT OUTER JOIN assign e ON e.asno = c.asno
LEFT OUTER JOIN boardmasteropening f ON f.opno = b.opno
LEFT OUTER JOIN fileinfo g ON g.fgno = b.fgnothumb AND g.isdel = 0
ORDER BY a.rno
SELECT a.rno, a.pagetotalcount, a.pcno
, e.asname
, c.bmno, c.bmname, c.isuseopening, c.isreply, c.bmtype
, f.opname
, b.cno, b.bno, b.pbno, b.subject, b.istop, b.issecr, b.cdt, d.username cnoname, d.userid cnoid
, b.rcount, b.rpcount, b.fgno, b.fgnothumb
, (CASE WHEN #getcontents# IS NULL THEN '' ELSE b.contents END) contents
, d.usertype
, g.fileurl
FROM (
SELECT a.*
FROM (
SELECT b.bno
, ROW_NUMBER() OVER(ORDER BY $orderby$ b.istop DESC, CASE WHEN b.pbno IS NULL THEN b.cdt ELSE b2.cdt END DESC, CASE WHEN b.pbno IS NULL THEN 0 ELSE 1 END ) rno
, COUNT(a.cno) OVER() pagetotalcount, b2.cno pcno
FROM boardmaster a
INNER JOIN board b ON b.bmno = a.bmno AND b.isdel = 0
LEFT OUTER JOIN board b2 ON b.bno = b2.pbno AND b2.isdel = 0
INNER JOIN users c ON c.userno = b.cno
WHERE a.bmtype = 2
a.bmposition = #bmposition#
AND a.isopen = 1
AND b.pbno IS NULL
AND b2.pbno IS NULL
AND a.disptype = 0
) a
) a
INNER JOIN board b ON b.bno = a.bno
INNER JOIN boardmaster c ON c.bmno = b.bmno
INNER JOIN users d ON d.userno = b.cno
LEFT OUTER JOIN assign e ON e.asno = c.asno
LEFT OUTER JOIN boardmasteropening f ON f.opno = b.opno
LEFT OUTER JOIN fileinfo g ON g.fgno = b.fgnothumb AND g.isdel = 0
ORDER BY a.rno
select f.opname,a.bno,a.pbno,a.subject,a.cdt,b.username cnoname,a.rpcount,a.issecr,a.cno
,case when #getcontents# is null then '' else a.contents end contents
,b.usertype
from board a
inner join users b on b.userno=a.cno
left outer join boardmasteropening f on f.opno=a.opno
where a.pbno in ($pbnos$) and a.isopen=1 and a.isdel=0
SELECT a.rno, a.pagetotalcount
, e.asname
, c.bmno, c.bmname, c.isuseopening, c.isreply
, f.opname
, b.bno, b.pbno, b.subject, b.istop, b.issecr, b.cdt, d.username cnoname, d.userid cnoid, b.rcount, b.fgno, b.fgnothumb, b.cmno
, g.cname, g.classno
, h.tyear, h.tseq
FROM (
SELECT a.*
FROM (
SELECT b.bno
, ROW_NUMBER() OVER(ORDER BY $orderby$ b.istop DESC, CASE WHEN b.pbno IS NULL THEN b.cdt ELSE b2.cdt END DESC, CASE WHEN b.pbno IS NULL THEN 0 ELSE 1 END ) rno
, COUNT(a.cno) OVER() pagetotalcount
FROM boardmaster a
INNER JOIN board b ON b.bmno = a.bmno AND b.isdel = 0 AND b.cmno = #cmno#
LEFT OUTER JOIN board b2 ON b.pbno IS NOT NULL AND b2.bno = b.pbno
INNER JOIN users c ON c.userno = b.cno
INNER JOIN cm d ON d.cmno = b.cmno
INNER JOIN term e ON e.tmno = d.tmno AND d.tmno = #tmno# AND e.tyear = #tyear#
INNER JOIN cmprof cp ON cp.cmno = b.cmno AND cp.userno = #teacherno#
WHERE a.bmposition = 1
a.bmno = #bmno#
a.asno = #asno#
(b.subject LIKE CONCAT('%',#scc#,'%') OR b.contents LIKE CONCAT('%',#scc#,'%') OR c.username = #scc#)
) a
) a
INNER JOIN board b ON b.bno = a.bno
INNER JOIN boardmaster c ON c.bmno = b.bmno
INNER JOIN users d ON d.userno = b.cno
INNER JOIN cm g ON g.cmno = b.cmno
INNER JOIN term h ON h.tmno = g.tmno
LEFT OUTER JOIN assign e ON e.asno = c.asno
LEFT OUTER JOIN boardmasteropening f ON f.opno = b.opno
LEFT OUTER JOIN board pb ON b.bno = pb.pbno AND pb.isdel = 0
ORDER BY a.rno
SELECT a.rno, a.pagetotalcount
, e.asname
, c.bmno, c.bmname, c.isuseopening, c.isreply
, f.opname
, b.bno, b.pbno, b.subject, b.istop, b.issecr, b.cdt
, d.username cnoname, d.userid cnoid
, b.rcount, b.fgno, b.fgnothumb, b.cmno
, g.cname, g.classno
, h.tyear, h.tseq
FROM (
SELECT a.*
FROM (
SELECT b.bno
, ROW_NUMBER() OVER(ORDER BY $orderby$ b.istop DESC, CASE WHEN b.pbno IS NULL THEN b.cdt ELSE b2.cdt END DESC, CASE WHEN b.pbno IS NULL THEN 0 ELSE 1 END ) rno
, COUNT(a.cno) OVER() pagetotalcount
FROM boardmaster a
INNER JOIN board b ON a.bmno = b.bmno AND b.isdel = 0
LEFT OUTER JOIN board b2 ON b.bno = b2.pbno AND b2.isdel = 0
INNER JOIN users c ON c.userno = b.cno
INNER JOIN cm d ON d.cmno = b.cmno
WHERE a.bmposition = 1
AND a.bmtype = 2
AND a.isopen = 1
AND b.pbno IS NULL
AND b2.pbno IS NULL
AND a.disptype = 0
) a
) a
INNER JOIN board b ON b.bno = a.bno
INNER JOIN boardmaster c ON c.bmno = b.bmno
INNER JOIN users d ON d.userno = b.cno
INNER JOIN cm g ON g.cmno = b.cmno
INNER JOIN term h ON h.tmno = g.tmno
LEFT OUTER JOIN assign e ON e.asno = c.asno
LEFT OUTER JOIN boardmasteropening f ON f.opno = b.opno
LEFT OUTER JOIN board pb ON b.bno = pb.pbno AND pb.isdel = 0
ORDER BY a.rno
select e.asname
,c.bmno,c.bmname,c.isuseopening,c.isreply,c.disptype,c.bmtype
,f.opname
,b.bno,b.pbno,b.subject,b.istop,b.issecr,b.cdt,d.username cnoname,b.rcount,b.fgno,b.fgnothumb,b.opno,b.contents,b.isopen
,b2.subject psubject
,g.cmno,g.cname,g.classno
,h.tmno,h.tyear,h.tseq
,count(b3.bno) ccount
from board b
inner join boardmaster c on c.bmno=b.bmno
inner join users d on d.userno=b.cno
left outer join board b2 on b2.bno=b.pbno and b2.isdel=0
left outer join board b3 on b3.pbno=b.bno and b3.isdel=0
left outer join assign e on e.asno=c.asno
left outer join boardmasteropening f on f.opno=b.opno
left outer join cm g on g.cmno=b.cmno
left outer join term h on h.tmno=g.tmno
where b.bno=#bno#
group by e.asname
,c.bmno,c.bmname,c.isuseopening,c.isreply,c.disptype,c.bmtype
,f.opname
,b.bno,b.pbno,b.subject,b.istop,b.issecr,b.cdt,d.username,b.rcount,b.fgno,b.fgnothumb,b.opno,b.contents,b.isopen
,b2.subject
,g.cmno,g.cname,g.classno
,h.tmno,h.tyear,h.tseq
select a.bno,count(b.bcno) ccount
from board a
left outer join boardcmt b on b.bno=a.bno and b.isdel=0
a.bno in ($bnos$)
group by a.bno
select a.bcno,a.bno,a.ctext,a.isdel,a.cdt,a.udt,a.cno
,b.username cnoname,b.usertype
from boardcmt a
inner join users b on b.userno=a.cno
where a.bno=#bno# and a.isdel=0
order by a.cdt desc
insert into board (pbno,bmno,opno,subject,contents,fgno,fgnothumb,cmno,rcount,rpcount,isdel,istop,issecr,isopen, )
values (#pbno#,#bmno#,#opno#,#subject#,#contents#,#fgno#,#fgnothumb#,#cmno#,0,0,0,#istop#,#issecr#,#isopen#, );
SELECT LAST_INSERT_ID()
insert into board (pbno,bmno,opno,subject,contents,fgno,fgnothumb,cmno,rcount,rpcount,isdel,istop,issecr,isopen, )
select bno,bmno,opno,#subject#,#contents#,#fgno#,#fgnothumb#,cmno,0,0,0,0,#issecr#,#isopen#,
from board where bno=#pbno#;
SELECT LAST_INSERT_ID()
update board set
,opno =case when pbno is null then #opno# else opno end
,subject =#subject#
,contents =#contents#
,fgno =#fgno#
,fgnothumb =#fgnothumb#
,istop =case when pbno is null then #istop# else istop end
,issecr =#issecr#
,isopen =#isopen#
where bno=#bno#
update board set ,isdel=1 where bno=#bno# and cno=#cno#
update board set rpcount = rpcount+1 where bno=#bno#;
insert into boardcmt (bno,ctext,isdel, )
values (#bno#,#ctext#,0, );
SELECT LAST_INSERT_ID()
update boardcmt set
,ctext=#ctext#
where bcno=#bcno# and cno=#cno#
update board a
inner join boardcmt b on b.bcno=#bcno# and a.bno=b.bno and b.cno=#cno#
set a.rpcount = a.rpcount-1
where a.bno=b.bno;
update boardcmt set ,isdel=1 where bcno=#bcno# and cno=#cno#
select a.rno,a.pagetotalcount
,e.asname
,c.bmno,c.bmname,c.isuseopening,c.isreply,c.bmtype
,f.opname
,b.cno,b.bno,b.pbno,b.subject,b.istop,b.issecr,b.cdt,d.username cnoname,b.rcount,b.rpcount,b.fgno,b.fgnothumb,case when #getcontents# is null then '' else b.contents end contents
,d.usertype
,g.fileurl
from (
select a.*
from (
select b.bno
,row_number() over(order by $orderby$ b.istop desc,case when b.pbno is null then b.cdt else b2.cdt end desc,case when b.pbno is null then 0 else 1 end ) rno
,count(a.cno) over() pagetotalcount
from assign a0
inner join boardmaster a on a.asno=a0.asno
a.bmno=#bmno#
a.asno=#asno#
and a.isdefault=#isdefault#
inner join board b on b.bmno=a.bmno
and b.bno=#bno#
and b.isdel=0
and b.opno=#opno#
and b.isopen=#isopen#
and b.issecr=#issecr#
and b.opno=#opno#
left outer join board b2 on b.pbno is not null and b2.bno=b.pbno
inner join users c on c.userno=b.cno
where a0.subdomain=#subdomain# and a0.isdel=0
(b.subject like concat('%',#scc#,'%') or b.contents like concat('%',#scc#,'%') or c.username=#scc#)
) a
) a
inner join board b on b.bno=a.bno
inner join boardmaster c on c.bmno=b.bmno
inner join users d on d.userno=b.cno
left outer join assign e on e.asno=c.asno
left outer join boardmasteropening f on f.opno=b.opno
left outer join fileinfo g on g.fgno=b.fgnothumb and g.isdel=0
order by a.rno
limit $limit$
select a.bno,a.pbno,a.subject,a.contents,a.cdt,a.fgno,f.opname,a.cdt,b.usertype,a.rcount
from board a
inner join users b on b.userno=a.cno
left outer join boardmasteropening f on f.opno=a.opno
where a.bno=#bno# and (a.cno=#cno# or b.usertype in (91,92))
union all
select a.bno,a.pbno,a.subject,a.contents,a.cdt,a.fgno,f.opname,a.cdt,b.usertype,a.rcount
from board a
inner join users b on b.userno=a.cno
left outer join boardmasteropening f on f.opno=a.opno
where a.pbno=#bno#