MS Query의 수동 SQL 문 창을 사용하여 ODBC 연결 데이터베이스에서 데이터를 가져 오는 데 며칠 (grrr) 동안 노력했습니다. 나는 그것이 무엇을하고 싶은지 알 수 있지만 구문에 매달려있다. (나는 MS Query에만 국한되어있다.) I는 네 개의 테이블이MS Query에서 다중 INNER JOIN을 사용하는 FROM 절의 구문
:
문제점이있다간에화물, 배송 설비를 통해 처리 중량 정보를 포함하는, waybill, waybill_item, rail_bl
및 rail_bl_item
을 어느 트럭 (운송장) 또는 레일에 라우팅되고 (레일). waybill
및 rail_bl
테이블에는 트럭 및 철도화물에 대한 날짜 데이터가 각각 포함됩니다. waybill_item
및 rail_bl_item
에는 해당 항목의 가중치에 대한 데이터가 들어 있습니다.
매일 매일 처리되는 총 중량 (철도 및 트럭 운송)을 반환하는 테이블이 필요합니다. I.E. 쿼리를 수행함으로써
DATE | WEIGHT
date1, (truck_weight_for_date1+rail_weight_for_date1)
date2, (truck_weight_for_date2+rail_weight_for_date2)
date3, (truck_weight_for_date3+rail_weight_for_date3)
etc
, 나는 특정 날짜에 특정 날짜에 레일 및 총 무게 트럭의 총 무게를 포함하는 두 개의 열 결과를 얻을 수 있어요
SELECT waybill.creation_date, sum(waybill_item.weight)
FROM waybill
INNER JOIN waybill_item
ON waybill.id = waybill_item.waybill_id
WHERE waybill.creation_date > '01/01/2012'
GROUP BY waybill.creation_date
UNION
SELECT rail_bl.creation_date, sum(rail_bl_item.total_weight)
FROM rail_bl
INNER JOIN rail_bl_item
ON rail_bl.id = rail_bl_item.rail_bl_id
WHERE rail_bl.creation_date > '01/01/2012'
GROUP BY rail_bl.creation_date
ORDER BY waybill.creation_date DESC
별도의 기록에 , 그래서 내 결과는 다음과 같습니다
DATE | WEIGHT
date1, truck_weight_for_date1
date1, rail_weight_for_date1
date2, truck_weight_for_date2
date2, rail_weight_for_date2
date3, truck_weight_for_date3
date3, rail_weight_for_date3
etc
내가 타격 해요하다가 내가 얻을 수 있다는 것입니다 MS 가야를 위 쿼리를 하위 쿼리로 사용하고 각 날짜의 레코드를 합계로 받아들입니다. 하위 쿼리로 내 쿼리를 테스트하려고해도 작동하지 않습니다. .. 심지어 경우 -
SELECT * FROM
(
SELECT waybill.creation_date, sum(waybill_item.weight)
FROM waybill
INNER JOIN waybill_item
ON waybill.id = waybill_item.waybill_id
WHERE waybill.creation_date > '01/01/2012'
GROUP BY waybill.creation_date
UNION
SELECT rail_bl.creation_date, sum(rail_bl_item.total_weight)
FROM rail_bl
INNER JOIN rail_bl_item
ON rail_bl.id = rail_bl_item.rail_bl_id
WHERE rail_bl.creation_date > '01/01/2012'
GROUP BY rail_bl.creation_date
)
ORDER BY waybill.creation_date DESC
반환에 "테이블을 추가 할 수 없습니다 '('"오류 기타 구문 변종과 유사한 오류를 반환
사람이 알고 있나요 시도 예를 들어
- - MS Query는 이와 같은 하위 쿼리를 수행 할 수 있습니까? 사전에 도움을 주셔서 감사합니다.
의견에 감사드립니다. 고든. 내가 지금 실행하고있는 문제는 INNER JOIN이있는 하나의 선택에 대해서만 별칭을 지정하려는 것입니다. 내가 운송장 로부터 Total_Weight 그대로 'SELECT waybill.creation_date, 합계 (waybill_item.weight)를 시도하는 경우 INNER는 가입 waybill_item ON waybill.id = waybill_item.waybill_id WHERE waybill.creation_date>/01/2012'운송장 BY GROUP '01 .creation_date' 가중치 필드의 헤더가 공백으로 남아 있고 SQL 창으로 돌아가서 "AS Total_Weight"가 사라 졌음을 보여줍니다. 어떤 제안? 나는 이것에 아주 새롭다. – PriceHardman