나는이 매우 크고 아키텍처가 잘못 설계된 솔루션을 상속 받았으며 일부 커다란보기 흉한 쿼리를 작성/실행해야합니다.MySQL 관련 테이블 조회 및 행 -> 열
아래의 쿼리가 작동하고 내가 원하는 결과를 제공하는 동안 도움이되도록 선택한 각 자원 봉사자 목록은 테스트로 표시되지 않고 관련 사용자 계정이 '활성'으로 표시되어 있습니다. 그런 다음 추가 열 세트, 5 개 소셜 미디어 플랫폼 각각에 대해 하나 (하지만 그냥 간단하게 스킬 목록 또는 아무것도 될 수 있음)
SELECT v.volunteerid
, v.firstname
, v.lastname
, v.mobile
, v.phone
, v.email
, v.has_smartphone
, MAX(case vs.socialid when '1' then 'Yes' else 'No' end) Facebook
, MAX(case vs.socialid when '2' then 'Yes' else 'No' end) Twitter
, MAX(case vs.socialid when '3' then 'Yes' else 'No' end) Instagram
, MAX(case vs.socialid when '4' then 'Yes' else 'No' end) Vine
, MAX(case vs.socialid when '5' then 'Yes' else 'No' end) Google+
FROM wp_cfg_volunteer v
LEFT OUTER JOIN appusers u
ON u.volunteerid = v.volunteerid
LEFT OUTER JOIN wp_cfg_volunteer_social vs
ON vs.volunteerid = v.volunteerid
WHERE v.is_test=0
AND v.will_help=1
AND u.activationstate='Active'
GROUP BY v.volunteerid
내 질문은 이것이다 : 나는 사회적 플랫폼 조회를 할 수있는 방법을 쿼리를 기반으로하므로 socialid
값과 관련 이름을 하드 코딩하지 않고 wp_cfg_social
테이블을 통해 반복하는 쿼리를 작성하여 ID와 이름 값을 추출 할 수 있습니까?
보너스 포인트 : mysql 쿼리의 in of &을 손에 넣을 수있는 좋은 자료는 무엇입니까?
감사합니다,
NBSP
오, 잘못된 포맷팅을 사용했습니다. – nbsp