제 선택 도와주세요. 나는 carrier : car_id, car_name, car_zones (이 값은이 이동 통신사의 영역 데이터를 가진 테이블 이름), car_rates_exp (이 값은이 이동 통신사의 내보내기 속도 데이터가있는 테이블 이름)에 대한 정보가 들어있는 테이블 캐리어를 가지고 있습니다. car_rates_imp (이 값은이 운송 업체의 가져 오기 속도 데이터가있는 테이블 이름입니다.) car_href (이 값은이 운송 업체의 API 추적에 대한 href입니다)내부 열 값에 따라 다른 테이블을 결합하십시오
또한 모든 필드 중에서 'carrier_id' , from_country, 무게 및 shipper_rate. 나는 내부적으로 테이블을 만들려는 select를 만들고 싶지만,이 테이블 이름은 carrier_id를 기반으로해야합니다. 나는이 쿼리를 만들려고했는데, 그것은 작동하지 않습니다
SELECT o.id_order,
o.from_country,
c.firstname,
c.lastname,
o.carrier_id,
ot.name as order_type,
z.Zone_name,
cr.car_zones,
cr.car_name,
cr.car_href,
o.invoice_amount,
o.rated_weight,
o.shipping_rate,
o.shipping_rate_my_fee,
o.customs_tax,
o.customs_tax_2,
o.customs_my_fee,
o.total_shipping_fee,
o.total_my_costs,
o.1kg_price,
o.my_profit,
o.goods_for_ship,
o.waybill,
o.prev_DHL_fee,
o.customer_paid,
os.name as order_status,
os.color
FROM orders o
inner join customer c on o.id_customer = c.id
inner join order_types on on o.order_type = ot.id
inner join (select car_zones
from carriers
where car_id=o.carrier_id) z on o.from_country = z.id
inner join carriers cr on IF(o.carrier_id = 0, 1, o.carrier_id) = cr.car_id
inner join order_status os on o.order_status = os.id
where import_or_export = 'import' AND o.active > 0
그래서 문자열
inner join (select car_zones from carriers where car_id=o.carrier_id) z on o.from_country = z.id
당신은 내가이 상황을 해결하는 데 도움이 바랍니다 수, 작동하지 않는 이유는 무엇입니까?
호환되지 않는 태그를 제거했습니다. 실제로 사용하고있는 데이터베이스의 태그를 다시 추가하십시오. –
하위 쿼리에 ** id **를 포함시킵니다. (car id = o.carrier_id 인 이동 통신사의 car_zones 선택) o.from_country = z.id에 – Viki888
'FROM' 절에서 하위 쿼리를 사용할 수 없습니다 이것은'FROM' 절의 다른 테이블을 참조합니다. 이것을 원합니까? 'o.carrier_id = z.car_id 및 o.from_country = z.id'에 내부 결합 연산자 z? 그렇지 않다면 무엇을 대신할까요? –