2026, 새로운 도약을 시작합니다.

한데이터에 필드 반복 질문요 채택완료

---데이터

일력번호 | 이름     | 국어 | 영어 | 수학 

1            홍길동    80     90      50

2            홍길순    50     80     100 


---


위 데이터를 

---

일련번호  이름      과목      점수

1           홍길동    국어     80

2           홍길동    영어     90

3           홍길동    수학     50

4           홍길순    국어     50

5           홍길순    영어     80

6           홍길순    수학     100

---

이런식으로 표현 할려고 하는데요 



조언부탁드립니다.


감사합니다.






답변 3개

채택된 답변
+20 포인트

DB에 관련된 SQL질문인가요?


일단 그렇게 알고 MySql 쿼리로 답을드리면

아래 내용에 테이블로 존재한다고 치고


--------------------------------------------------- 

"데이터"

일력번호 | 이름     | 국어 | 영어 | 수학  

1            홍길동    80     90      50 

2            홍길순    50     80     100 

---------------------------------------------------


Copy
set @rownum := 0;select @rownum := @rownum +1 일련번호, 이름, 과목, 점수from (    select 이름, '국어' 과목, 국어 점수 from 데이터    union all    select 이름, '영어' 과목, 영어 점수 from 데이터    union all    select 이름, '수학' 과목, 수학 점수 from 데이터) xorder by 이름


이렇게 하시면 원하시는 형태로 변경가능합니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

php로 해도 같나요?
@sukja
MySql 문 쿼리는 PHP에서 사용하시던지
어디서 사용하시던지 동일한 DB의 접근입니다.

지금원하시는게 HTML인지, MySql인지 명확하지 않아서
구조상 DB의 테이블이라는 가정하에 답을 드린겁니다.

HTML로 표현한다고 하더라도,
어딘가에 변경전 구조의 데이타를 가지고 있어야 하므로,

----------------------------------------------------
웹브라우저 -> 웹서버 -> DB서버
HTML -> PHP -> Mysql
-----------------------------------------------------
계층으로 접근하기에

원하시는 데이타의 위치를 알아야 정확한 변경이 가능합니다.
언어는 php

디비 는 mysql 입니다.


- 학생별 성적 테이블
---
일력번호 | 이름 | 국어 | 영어 | 수학
1 홍길동 80 90 50
2 홍길순 50 80 100
---


- 과목별성적 테이블
---
일련번호 이름 과목 점수
1 홍길동 국어 80
2 홍길동 영어 90
3 홍길동 수학 50
4 홍길순 국어 50
5 홍길순 영어 80
6 홍길순 수학 100
---

학생별성적을 과목별 성적으로 인서트 할려고 합니다.

댓글을 작성하려면 로그인이 필요합니다.

덕분에 잘 해결했습니다. 감사합니다. ^^~



로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

order by 이름, 과목

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고