rowspan 처리하기

function rowspan(className){
var txt;
var rows;
$("." + className).each(function() {
txt = $(this).text();
if(txt.length === 0)
return true;
rows = $("." + className + ":contains('" + txt + "')");
if (rows.length > 1) {
rows.eq(0).attr("rowspan", rows.length);
rows.not(":eq(0)").remove();
}
});
}
rowspan("rowspan");
rowspan 을 원하는 td에 class 추가 호출하면 됨.
WITH TARGET
AS (
SELECT Col FROM TargetTable WHERE Condition = :Condition
)
MERGE INTO TARGET
USING (
SELECT Col FROM SourceTable WHERE Condition = :Condition
) SOURCE ON TARGET.Col = SOURCE.Col
WHEN NOT MATCHED THEN
INSERT (Col) VALUES (Col)
WHEN NOT MATCHED BY SOURCE THEN
DELETE
OUTPUT $ACTION , INSERTED.*, DELETED.*;
1. SOURCE 테이블과 TARGET 테이블을 비교해서 TARGET 테이블에 INSERT, UPDATE, DELETE 문을 수행.
[INTO] 생략가능
2. SOURCE 테이블에 조건이 필요할 경우 서브쿼리 사용.
3. TARGET 테이블에 조건이 필요할 경우 WITH 문 사용.
4. WHEN MATCHED THEN
ON 절의 조건 컬럼이 SOURCE, TARGET 양쪽다 존재하는 경우 실행
보통 UPDATE 구분 사용
5. WHEN NOT MATCHED BY TARGET THEN
ON 절의 조건 컬럼이 SOURCE에는 있는데 TARGET 에 없는 경우 실행
보통 INSERT 구문 사용(INSERT TARGET)
[BY TARGET] 생략가능
6. WHEN NOT MATCHED BY SOURCE THEN
ON 절의 조건 컬럼이 TARGET에는 있는데 SOURCE에 없는 경우 실행
보통 DELETE 구문 사용(DELETE TARGET)
<!--- vertical-align for row --->
<div class="container">
<div class="row align-items-center">
<div class="col-12 text-center">Content</div>
</div>
</div>
<!--- vertical-align for column --->
<div class="container">
<div class="row">
<div class="col-12 align-self-center text-center">Content</div>
</div>
</div>
<!--- vertical-align for column --->
<div class="container">
<div class="row">
<div class="col-12 my-auto text-center">Content</div>
</div>
</div>
with XMLNAMESPACES ('http://schemas.microsoft.com/sqlserver/2004/07/showplan' as sql)
SELECT --TOP 10
db_name
,sp_name
,sp_text
,[statement_text]
,X.*
,[creation_time]
,[ExecutionCount]
FROM
(
SELECT
db_name(qt.dbid) AS 'db_name'
,qt.text AS 'sp_text'
, substring(qt.text, (qs.statement_start_offset/2)+1
, ((case qs.statement_end_offset
when -1 then datalength(qt.text)
else qs.statement_end_offset
end - qs.statement_start_offset)/2) + 1) as statement_text
, qs.creation_time
, qs.execution_count AS 'ExecutionCount'
, cast(qp.query_plan as xml) as query_plan
,OBJECT_NAME(qp.objectid,qp.dbid) as sp_name
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS qt
CROSS APPLY sys.dm_exec_text_query_plan(qs.plan_handle,qs.statement_start_offset,qs.statement_end_offset) qp
) Y
CROSS APPLY
(
SELECT
c.value('(./@Impact)[1]','float') as missing_index_Impact
,c.value('(./sql:MissingIndex/@Database)[1]','varchar(100)') + '.'+
c.value('(./sql:MissingIndex/@Schema)[1]','varchar(100)') + '.'+
c.value('(./sql:MissingIndex/@Table)[1]','varchar(100)') as [missing_index_Table]
FROM Y.query_plan.nodes('//sql:MissingIndexGroup')B(C)
) X