請幫我請我的選擇。 我有我的表運營商,它包含關於承運人的信息:car_id,car_name,car_zones(這個值是表名,它有這個承運人的區數據),car_rates_exp(這個值是表名,它有這個承運人的出口費率數據), car_rates_imp(這個值是表名,它有這個載體的導入率數據),car_href(這個值是href跟蹤這個載體的api)內部加入不同的表格,根據列值
另外我有表'orders',在所有字段中,它有列carrier_id ,from_country,weight和shipper_rate。我想做一個選擇,我想在表中進行內部連接,但查詢中的這個表名必須不同,基於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 **爲'(select_id,car_zones from carrier where car_id = o.carrier_id)z on o.from_country = z.id' – Viki888
在'FROM'子句中不能有子查詢它引用'FROM'子句中的另一個表。你是否想要:o.carrier_id = z.car_id和o.from_country = z.id'上的inner join carriers z?如果不是,反而是什麼? –