여러 테이블의 행을 열로 변환하는 MySQL 쿼리
P粉882357979
P粉882357979 2023-08-13 16:02:22
0
1
535
<p>3개 테이블의 MySQL 선택 쿼리에 대해 문의하고 싶습니다. </p> <p>비슷한 테이블이 3개 있습니다. </p> <p><strong>table_1</strong></p> <pre class="brush:php;toolbar:false;">menu_id | 1 | 메뉴 1 2 | 메뉴 2</pre> <p><strong>table_2</strong></p> <pre class="brush:php;toolbar:false;">item_id 메뉴_이름 | 1 | 1 | 2 | 1 | 3 | 2 | 4 | 2 | 프로젝트 4</pre> <p><strong>table_3</strong></p> <pre class="brush:php;toolbar:false;">price_id | 통화_코드 | 1 | 3.65유로 | 2 | 1 | 3.45 | 3 | 2유로 | 4 | 4 | 5 | 4 | 9.60</pre> <p>다음 출력 SELECT를 수행해야 합니다. </p> <pre class="brush;toolbar:false;">item_name | 메뉴_이름 | p_USD | 1 | 항목 1 | 3.45 0 | 2 | 항목 1 | 0 | 3 | 항목 2 | 0 | 4 | 항목 2 | 0 | <p>테이블_3의 행으로 쿼리 열(p_EUR, p_USD 등)을 채우고 싶습니다. 일치하는 레코드가 없으면 0 또는 NULL이 반환됩니다. 테이블은 <code>table_1.menu_id=table_2.menu_id</code> 및 <code>table_2.item_id=table_3.item_id</code>를 통해 결합됩니다. </p>
P粉882357979
P粉882357979

모든 응답(1)
P粉476046165

case when

를 사용할 수 있습니다. 으아아아

null을 0으로 변환해야 하는 경우 아래와 같이 COALESCE를 사용할 수 있습니다. COALESCE(MAX(CASE WHEN t3.currency_code = 'LEV' THEN t3.price END), 0) AS p_LEV

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!