2012-10-29 2 views
1

열 A에 특정 값이 있는지 여부를 확인하기 위해 쿼리를 수행하고 싶습니다. A는 X, X 및 Y 또는 X와 Y의 조합 만 가질 수 있습니다.한 행에서 다른 값 일치

더 나은 이해를 제공하십시오. 나는 테이블 자체 내에서 책의 저자를 확인하고있다. 표에 BOOK_ID, BOOK_TITLE, AUTHOR_NAME, AUTHOR_ORDER이 있습니다.

따라서 책은 AUTHOR_ORDER 행에 기록 된 순서대로 나열된 1,2,3 명의 저자가있을 수 있습니다. 나는 책에 3 명의 저자가있는 경우 첫 번째 저자에서부터 3 번째 저자에게 적절하게 표시되는 결과물에 도달하기 위해 열심히 노력하고 있습니다. 나는 지금 가치를 비교하고 그것을 산출물에 표현할 필요가있는 부분에 갇혀있다.

MYSQL 출력에서 ​​이것을 어떻게 달성 할 수 있습니까?

샘플 :

enter image description here

출력 결과는 다소이 추천된다 :

표제 1,2, 3 au_ord 경우

, 모두 가진 새로운 칼럼이되어야한다 작성자 이름이 오름차순으로 나열됩니다.

그래서 예를 들어, 제목 BU1032를 들어, 저자 행은 내가 GROUP_CONCAT이 생각

+0

출력 ? MySQL의 SQL 프롬프트 또는 웹 페이지? – SparKot

+0

몇 가지 예제 데이터와 달성하려는 출력 결과를 제공 할 수 있습니까? – gapple

+0

녀석들, 나는 훨씬 더 명확 해 졌으면 좋겠다. – ocinisme

답변

2

녹색 베넷 될 것입니다 당신은 무엇 후 :

SELECT Title_ID, 
     Title, 
     GROUP_CONCAT(au_LName ORDER BY au_Ord) AS Authors 
FROM Books 
GROUP BY Title_ID, Title; 

SQL FIDDLE

+0

고마워요, 방금 ** book_title **이 다른 테이블에 있다는 것을 알았습니다. 이 경우에는 JOIN을 사용하는 것이 좋습니다? – ocinisme

+0

예, 많은 영향을 미치지 않습니다. 질문에 스크린 샷을 생성하는 데 사용한 쿼리에 동일한 선택/그룹을 적용 할 수 있어야합니다. – GarethD

+0

이 질문에 대한 해결 방법이 있습니까? 아마도 ** IN ** 문법을 사용하는 것처럼? – ocinisme

관련 문제