0
특정 값 (TikiWiki CMS, 추적 프로그램 응용 프로그램)에 해당하는 행을 셀 수 있도록 자체 조인하는 테이블에 요약을 작성합니다. 하지만 같은 값을 가질 수있는 두 개의 열이있는 경우가 있는데 SQL에서 특정 순서로 NULL이 아닌 첫 번째 값을 가져와야합니다. I 값으로 "파리"가 모든 라인을 카운트 할 쿼리MySQL은 WHERE 문에서 COALESCE 또는 IFNULL과 함께 NULL이 아닌 값을 선택합니다.
itemId | fieldId | value
==========================
41 | 236 | Paris
41 | 213 | Paris
14 | 236 |
14 | 213 | Paris
25 | 236 | Paris
25 | 213 |
어느 필드 ID (236) 또는 필드 ID 213 : 여기
테이블 I 작동tiki_tracker_item_fields
의 일례이다. 여기 결과는해야한다 : 내 요청이 3
:
SELECT COUNT(*) AS sp_actions
FROM
`tiki_tracker_item_fields` AS actions
WHERE
COALESCE(
actions.fieldId = 236,
actions.fieldId = 213
)
AND actions.value = 'Paris'
그래서 내가 필드 (236)에 대한 '파리'가있을 때 작동합니다,하지만 난 필드 (21) 파리가있을 때 3.
그리고 나는 COALESCE를이 방법으로 사용할 수 있는지 확신하지 못합니다. 찾은 모든 예제는 SELECT 문에 COALESCE를 넣었습니다.
그런 다음
좋아! 매력처럼 작동하고 빠릅니다. 감사! 이제는 예를 들어 '그 item item end'부분이 어떻게 작동하는지 이해하기 위해 내 마음을 감싸 줘야합니다. –
또한 WHERE 문에서 제어 흐름 함수를 사용하는 것이 가능하거나 권장되는지 알고 싶습니다 ... –