저자와 발행물 사이에 다 대다 관계가 있습니다. 별도의 작성자 테이블이 있으며 모든 항목에 대해 공동 작성자를 해당 테이블에 삽입하고 싶습니다. 지금까지중첩 된 쿼리 및 삽입
, 나는 [RosSQL의 도움으로 업데이트] (= 1 author_id 여기 행) 고정 행 (저자 자체 포함) 공동 저자를 조회 할 수 있습니다
SELECT DISTINCT a.name
FROM publication_authors pa
JOIN authors a
ON a.id = pa.author_id
WHERE pa.publication_id IN
(SELECT publication_id
FROM publication_authors
WHERE author_id=1)
;
난 하위 쿼리와 외부 쿼리를 결합하는 올바른 구문을 찾기 위해 고심하고 있습니다. 또한
for id in authors:
QUERY(id) // where id is substituted for 1
는 별도의 게시 테이블에 저장되어있는 authors 테이블에서 공동 저자의 해 사용할 가지고 좋은 것입니다 : 내가 뭘 기본적를 싶습니다 표현하는 선언적인 방법입니다. | ID :
저자 :
내 테이블에는 다음과 같은 열이 이름
게시 : id | 이름 | 년
저자/발행물 : id | id
작성자 : id | 이름 | 공저자 | 년
아래와 같이 공동 작성자 정보를 담은 새로운 테이블도 괜찮을 것입니다.
답변 해 주셔서 감사합니다.하지만 초보자로서 불행히도 내 머리 위로갔습니다. 먼저 PostgreSQL을 사용하도록 지정 했으므로 'stuff'를 사용할 수 없습니다. 대신 string_agg를 사용할 수 있는지 확실하지 않습니다. 공동 저자 정보를 별도의 테이블에 넣는 것도 좋을 것입니다. 어쩌면 나는 그것을 놓치고 있지만 공동 제작자를 만들기 위해 리디렉션 수준이 누락 된 것처럼 느껴질 수 있습니까? –