SQL 쿼리의 2개 HTML 파일 출력을 쉘 스크립트의 1개 기본 HTML 출력 파일로 변환

SQL 쿼리의 2개 HTML 파일 출력을 쉘 스크립트의 1개 기본 HTML 출력 파일로 변환

쉘 스크립트에서는 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을 사용하기 때문입니다.

관련 정보