에서 모든 행을 표시하지 조인 다음과 같이 그래서 concered 내 두 테이블의 대략적인 구조는 다음과 같습니다SQL 왼쪽 왼쪽
Table one: Services
services.id
services.name
Table two: Orders
orders.id
orders.item
orders.service
표 사용자가 서비스의 목록이 포함되어 있습니다. 그리고 표 2는 주문 목록입니다. 나는 테이블 2 (주문)에서 서비스에 대한 모든 주문 목록을 생성하려고하지만 주문하지 않은 서비스 (Zero)도 포함하려고합니다. LEFT JOIN이 오는 부분이지만 그것이 전혀 작동하지 않는 것 같습니다. 대부분의 서비스를 표시하지만 표시되지 않는 서비스에서 하나 또는 두 개의 레코드가 있습니다. 여기까지 내가 지금까지 사용하고있는 쿼리가 있습니다 ..
어떤 지침도 감사합니다!
select services.name,count(orders.service)
from services
LEFT JOIN orders ON services.id=orders.service
WHERE item IN (1,2,3,4)
group by statuses.service;
아마도 조인 조건에 IN 절을 이동 좋을 것이다 : 'ON services.id = orders.service AND IN 항목 (...)' –
이 더 의미가 있습니다 항목이 널 (null) 일 때 결합 조건에 넣으십시오. 잘못된 숫자로 연결됩니다 (이 값은 (1,2,3,4)에없는 항목도 포함합니다) –
만큼 http : // www. wellho.net/mouth/158_MySQL-LEFT-JOIN-and-RIGHT-JOIN-INNER-JOIN-and-OUTER-JOIN.html 예를 들어 mysql에서 join join도 null 값을 가져올 수있다. 그래서 "null이"쓰는 것은 내가 추측하는 요구 사항이 아니다. – Bastardo