2014-03-05 3 views
0

나는 쿼리에서 문제가 있습니다. 나는 다른 테이블에 계산 결과를 포함하는 하나의 필드를 보여주고 싶습니다. 설명하기가 어렵지만 당신이 나를 도울 수 있기를 바랍니다.
그래서 원하는 결과는 같은다른 테이블에 계산 결과에서 새 필드 표시

select id, name, car from tbl_people,tbl_vehicle 

'자동차'필드는 그 테이블의 필드 ID 및 차량이다 차량 테이블 수 (차량)의 결과이다. 내가 원하는 차량 필드가 포함 (예) 자동차, 자전거, 오토바이, (다른 차량) 결과는 같다 :

id | name | car 
----------------- 
01 | john | 3 (example) 

+0

샘플을 표시하십시오. 원하는 결과에 해당하는 데이터. –

+0

나는 두 테이블, 사람, 차량을 가지고있다. 직접 이드와 같은 필드와 이름. id와 같은 차량에서, vehicle_name. 차량 이름 포함 예 : 자동차, 자전거, (다른 차량). 나는 내 질문에 그려주는 테이블과 같은 결과를 원한다. 당신이 나를 도울 수? –

+0

두 테이블 사이에 아무런 연결이 없기 때문에 원하는 것을 이해하는 것이 약간 어렵습니다. –

답변

0

보통은 서브와 끝까지 여러분의 관심에 감사드립니다 질문. 당신의 ID에 대한 확인하지만, 같은 것을하지 :

select p.id, p.name, p.cnt 
from tbl_people p 
inner join 
    (select personid, count(1) as Cnt 
    from tbl_vehicle 
    where vehicle_name = 'Car' 
    group by personid) v 
on v.personid = p.id 
order by p.name 
+0

다른 차량도 계산됩니까? 난 단지 하나의 특정 필드가 필요합니다. vehicle_name = 'car'을 어디에 추가할까요? 그리고 그것을 어디에 놓을 수 있습니까? –

+0

@RezaKahfi 편집보기, 나는 다음을 추가 : where vehicle_name = 'Car' – JBrooks

0

당신도이 시도 할 수 :

select t1.id, t1.DeptID, count(t2.DeptId) as count 
from t1 join t2 on t1.DeptID=t2.DeptId group by t2.DeptId; 

적절한 열 이름을 가진 각각의 테이블 이름과 열이있는 T1과 T2를 교체하십시오. 바이올린을 here

힌트 작업

select t1.id, t1.DeptID, count(t2.DeptId) as count 
from t1 join t2 on t1.DeptID=t2.DeptId and t2.Name like '%a%' 
group by t2.DeptId; 

: 당신이 where 절을 원하는 경우에 당신은 같은 GROUP BY 절하기 전에 추가 할 수 T1은 tbl_people 및 T2는 tbl_vehicle 일하자. 조인은 ID에 있고 개수 (t2.DeptId)는 tbl_vehicle.ID (반복 또는 tbl_vehicle.pId 인 경우)로 바꿀 수 있으며 t2.Name은 tbl_vehicle.Name으로 바꿀 수 있습니다.

관련 문제