SQL 쿼리를 완료하려고하는데 문제가 생길 수 있습니다. maybee 누군가가 도와 줄 수 있습니다.단일 열에 대한 SQL 그룹화 쿼리 결과
여기에 짧은 버전 (프랑스 이름에 대한 죄송) 테이블을이다 :
Lexique
ID
terme_fr
definition_fr
에게 DomaineDuTerme
lexique_id
domaine_id
도멘
을ID
domaine_fr
따라서 Lexique 테이블의 한 요소는 많은 Domaine을 가질 수 있으며 하나의 Domaine은 많은 Lexique 요소에 사용될 수 있습니다. DomaineDuTerme 테이블에는 many to many 관계가 포함 된 중간체가 있습니다.
각각의 고유 한 Lexique 요소에 대한 레코드 집합의 단일 행에 domaine_fr을 재구성하는 쿼리가 필요합니다. 현재 요청은 중간 테이블에서 발견 된 모든 관계에 대한 레코드를 반환합니다. Domaine (s)에서 Lexique 요소가 필요한 경우 필터를 적용하는 것이 무엇인지 알기 위해이 중간 테이블이 필요합니다. 이 요청을
SELECT
Lex.terme_fr,
Lex.definition_fr,
Dom.domaine_fr
FROM
((Lexique AS Lex
LEFT JOIN
DomaineDuTerme AS Ddt ON Lex.ID = Ddt.lexique_id)
LEFT JOIN
Domaine AS Dom ON Ddt.domaine_id = Dom.ID)
WHERE Lex.terme_fr='test' `
'테스트'요소가 배수 DOMAINES 연관이있는 경우, 나는 결과로 배수 기록을 얻을 것이다 :
여기에 지금까지 내 요청입니다. 다중 레코드 연관이 Dom.domaine_fr 필드에 나열되는 단일 레코드를 얻고 싶습니다.
이것이 가능합니까? 나는 DISTINCT와 ORDER BY뿐만 아니라 모든 버전의 JOIN으로 시도했지만 여전히 모든 연관을 얻는다.
나는 별도의 쿼리 또는 레코드 세트를 가져온 후 코드에서 수행 할 수 있음을 알고 있지만 SQL을 통한 방법이 있다고 확신합니다. 또한 도움이 될 수 있다면 데이터베이스 스키마를 재구성 할 수 있습니다.
많은 감사!
당신은 샘플 데이터 및 원하는 결과를 제공 할 수 있습니까? 또한, 어떤 RDBMS를 사용하고 있습니까? – sgeddes