2011-08-11 7 views
0

authors이라는 테이블에 이름 목록을 가정합니다. 각 저자는 일생 동안 몇 권의 책을 저술했습니다. 중요 : 귀하는 책이 출판되었을 때 명확한 날짜를 알 수 없습니다. (지금 정확한 날짜를 기입하면 각 쿼리에서 그 순서로 주문할 수 있으며 좋을 것입니다.) 책의 발행 순서 만 알면됩니다. 책은 표 books에 저장됩니다. authorsbooks 사이에 다 대 다 관계가 있습니다.MySQL 내의 데이터 세트 내에서 특정 순서를 유지하기위한 조언이 필요합니다.

질문 : 각 저자의 발행 기록의 순서를 어떻게 저장 하시겠습니까?

예 :

나는 각 작가에 대한 쉼표로 구분 된 값의 문자열 (책의 기본 키)라는 열에서 특정 저자의 출판물의 순서를 기억을 저장하고있는 순간
Luc - title_1 
Luc - title_2 
Luc - title_10 
Luc - title_234 

Peter - title_1 
Peter - title_5 
Peter - title_10 
Peter - title_987 

John - title_2 
John - title_5 
John - title_9 

... 

books_order.

id name  publication_order 
... 
4  john  (2, 5, 9) 
... 

하지만 분명히 잘못된 길입니다. 어떻게 정상화 할 수 있을까요?

답변

1

나는 여분의 열을 sortorder 또는 비슷한 것으로 추가 할 것입니다. 첫 번째 책은 1이고 두 번째 책은 2 ... 등입니다. ORDER BY author, sortorder을 사용하면 저자 및 발행 순서별로 정렬 된 책 목록을 얻을 수 있습니다.

+0

'author_book' 관계 테이블을 의미합니까? 그러면 (author_id, book_id, sortorder) 될까요? – Aufwind

+0

예, 정확히 그 의미입니다. – Jacob

관련 문제