programing

MariaDB / MySQL 2개의 테이블 결합

luckcodes 2022. 10. 29. 15:25

MariaDB / MySQL 2개의 테이블 결합

테이블 tnHeaders와 tnData가 2개 있습니다.

tn헤더

fnIDX 설명
1 h1
2 h2
3 h3

tn데이터

fnIDX fnHEADER_IDX 설명
1 1 d1
2 1 d2
3 1 d3
4 2 d4
5 2 d5
6 2 d6
7 3 d7
8 3 d8
9 3 d9

그리고 이 결과물을 생산하고 싶다.

출력
h1
d1
d2
d3
h2
d4
d5
d6
h3
d7
d8
d9

코드에서는 문제없이 할 수 있지만 SQL에서는 어떻게 할 수 있습니까? (서버를 동작시킵니다)

를 사용해야 합니다.UNION ALL두 테이블의 설명을 참조하고 헤더가 데이터 위에 오도록 결과를 정렬합니다.

SELECT fnOUTPUT
FROM (
  SELECT fnDESCRIPTION fnOUTPUT, fnIDX header_index, 1 is_header FROM tnHeaders
  UNION ALL
  SELECT fnDESCRIPTION, fnHEADER_IDX, 0 FROM tnData
) t
ORDER BY header_index, is_header DESC, fnOUTPUT;

데모를 참조해 주세요.

언급URL : https://stackoverflow.com/questions/70481283/mariadb-mysql-combine-two-tables