2014-12-11 13 views
0

내 재생 목록 테이블의 다른 재생 목록에 내 노래가있는 PlaylistSong이라는 노래를 내 테이블에 추가하고 싶습니다. 재생 목록 (PlaylistID)에 추가 할 노래의 songID를 입력하는 쿼리를 작성하고 싶습니다.시퀀스 번호가있는 재생 목록에 노래 추가

간단하지만 문제는 자동으로 SeqNo를 만들어야한다는 것입니다.

INSERT INTO PlayListSong (PlayListID, SongID, SEQNO) 값 (1, 2,?) 여기서

테이블이다

(뭔가 같이?)

╔═════════════╦════════╦════════╗ 
║ PlaylistID ║ SongID ║ SeqNo ║ 
╠═════════════╬════════╬════════╣ 
║   1 ║  2 ║  1 ║ 
║   1 ║  3 ║  2 ║ 
║   2 ║  4 ║  1 ║ 
║   2 ║  5 ║  2 ║ 
╚═════════════╩════════╩════════╝ 
+0

최대 (SeqNo) +1로 문제가 해결되지 않습니까? 그런데 왜 데이터베이스에 저장하는 대신 선택 쿼리에서 실행중인 숫자가 될 수 없습니까? – Ahuman

+0

SeqNo는 'identity'열입니까? 당신은'sequence' 객체를 사용하여 디폴트 값을 찾지 않았습니까? – alroc

+0

@MrGenius 이것은 불만 사항이므로 불행히도 변경할 수는 없습니다. 제안 사항에 대해서는 물음표 대신 삽입합니까? 나는 그것을 시도했고 SeqNo가 유효하지 않은 열이라고 알려줍니다. – Christopher

답변

0

이 정상적으로 당신을 위해 일합니다.

INSERT INTO PlayListSong (PlayListID, SongID, SeqNo) values (1, 2, (SELECT ISNULL(Max(SeqNo),0)+1 FROM [dbo].PlayListSong 
WHERE PlayListID=1)) 
+0

이것은 작동하지 않습니다. 최대 SeqNo는 PlayListID를 구별하지 않습니다. 이는 내가 의미하는 바를 얻으면 재생 목록 중 하나의 SeqNo가 번호를 건너 뛸 수있게합니다. – Christopher

+0

나쁘다. 테스트 할 때 PlayListID의 값을 변경하는 것을 완전히 잊었다. 귀하의 솔루션이 작동합니다! – Christopher

관련 문제