쉘 스크립트에서는 2개의 서로 다른 SQL 쿼리를 사용하고 이를 HTML로 형식화했습니다(예: (eg- ab.html, cd.html)
. 쉘 스크립트는 ->
#/bin/ksh
ab=$(SQLPLUS -s <username>/<password>@DB <<EOF
set heading ON
set trimspool OFF
SET MARKUP HTML ON
set feedback off
spool ab.html
select col_1, col_2, col_3 from <tab>;
spool off;
exit;
EOF)
echo "$ab" > ab.html
----- DML operation perform
cd=$(SQLPLUS -s <username>/<password>@DB <<EOF
set heading ON
set trimspool OFF
SET MARKUP HTML ON
set feedback off
spool cd.html
select col_4 from <tab>;
spool off;
exit;
EOF)
echo "$cd" > cd.html
cat ab.html cd.html > output.html
exit 0
그런 다음 output.html
파일을 다음과 같이 가져옵니다 ->
______________________________
| col_1 | col_2 | col_3 |
| ..... | ...... | ..... |
| ..... | ...... | ..... |
|___________|________|_________|
______________________________
| col_4 |
| ...... |
|______________________________|
output.html
하지만 아래와 같이 테이블에 col_1, col_2, col_3, col_4와 같은 열을 만들고 싶습니다. ->
______________________________________
| col_1 | col_2 | col_3 | col_4|
| ..... | ...... | ..... | .....|
| ..... | ...... | ..... | .....|
|___________|________|__________|______|
위와 같은 형식을 볼 수 있도록 이 2개의 HTML 파일을 하나의 출력 HTML 파일로 병합하는 방법을 알려주실 수 있습니까? 예시로 HTML 표를 그렸을 뿐인데 HTML 표에는 항상 안쪽 테두리가 나타나므로 제가 사용하는 HTML 표 형식을 보지 마시기 바랍니다.
답변1
태그 뒤에 html 콘텐츠를 추가하는 것은 쉽지 않으므로 권장합니다. SQLiteslf를 사용하여 생성할 수 있습니다.
SELECT t1.owner, t1.object_id, t2.name
FROM (
SELECT owner, object_id,
ROW_NUMBER() OVER (ORDER BY owner) as rn
FROM dba_objects where rownum < 10) t1
FULL OUTER JOIN (
SELECT name,
ROW_NUMBER() OVER (ORDER BY name) as rn
FROM v$database) t2
ON t1.rn = t2.rn
ROW_NUMBER 함수를 사용하여 두 테이블을 함께 조인하는 데 사용할 수 있는 계산된 필드를 만들 수 있습니다. 공통점이 없고 FULL OUTER JOIN을 사용하기 때문입니다.