데이터 레코드가있는 .csv 파일이 있는데, 각 행에는 조직의 부서가 있습니다. MySQL 데이터베이스로 가져 와서 웹 응용 프로그램에 표시하고 싶습니다. 데이터 레코드의 샘플 개요는 다음과 같습니다SQL 테이블에서 데이터를 분리하는 방법
물론| Company A | Department aaa |
| Company A | Department bbb |
| Company A | Department ccc |
| Company B | Department ddd |
| Company B | Department eee |
| Company C | Department fff |
| Company C | Department ggg |
| Company C | Department hhh |
| Company D | Department iii |
| Company E | Department jjj |
| Company E | Department kkk |
내가 그것을 이런 식으로 보이게하는 관련 부서가 부착 한 번 각 회사 보여주고 싶은, 더 많거나 적은 :
| Company A | Department aaa |
| | Department bbb |
| | Department ccc |
| Company B | Department ddd |
| | Department eee |
| Company C | Department fff |
| | Department ggg |
| | Department hhh |
| Company D | Department iii |
| Company E | Department jjj |
| | Department kkk |
내 질문은 이러한 데이터 레코드를 연결하는 가장 좋은 방법은 무엇입니까? 적절한 프로그래밍 언어 (PHP, Ruby, Perl 등)를 사용하거나 SQL 쿼리를 사용하여 데이터베이스에서 수행합니까? SQL이 선택되면 저장 프로 시저, 임시 테이블 또는 가져 오기 인터페이스를 사용하여 수행 할 것입니까? 그것이 SQL이라면 어떻게 될 것입니까? 고맙습니다!
파일을 기존 데이터베이스/응용 프로그램으로 가져 오는 방법을 묻는 질문입니까, 아직 설계하지 않은 CSV 파일 주변의 솔루션 디자인을 논의하는 질문입니까? 후자의 경우 IMHO는 SO에 대한 질문이 아닙니다. – Nope
MySQL은이 쿼리를 비교적 간단하게 만드는 CTE ('WITH RECURSIVE' 절)를 지원하지 않습니다. PostgreSQL과 SQLite3은 다음 솔루션을 가지고 있습니다 : http://sqlfiddle.com/#!15/69fff/3/0 – tonypdmtr
@tonypdmtr, MySQL 8.0.1 이상은 재귀 CTE를 지원합니다. 그러나 8.0은 현재 릴리스 후보 자격 상태에 있습니다. –