我有下面這段代碼:列是曖昧使用INFORMATION_SCHEMA
SET @sql = CONCAT('SELECT s.name AS size,',
(SELECT REPLACE(
GROUP_CONCAT(COLUMN_NAME),
'ps.product_id, ps.status, ps.created_by, ps.created_at, ps.updated_at, ps.deleted_at,', ''
)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'product_sku'
AND TABLE_SCHEMA = 'swafap'), ' FROM product_sku AS ps
INNER JOIN size_code AS s ON s.id = ps.size_code_id
WHERE ps.product_id = 4741');
PREPARE stmt1 FROM @sql;
EXECUTE stmt1;
我有很多我需要從product_sku選擇列。我看着流行的回答帖子來弄清楚。我選擇其他列和沒有問題的東西,但只要我做一個加入,它說id是不明確的,這是有道理的,因爲id在兩個表中都存在..
但是,我不確定如何正確地解決這個問題,因爲我仍然試圖圍繞它在這裏做什麼。
在product_sku中,有一個名爲'size_code_id'的列,我只需要在size_code表中引用該大小代碼的名稱。
任何幫助將不勝感激。我希望我可以用流利/雄辯=)將它翻譯成Laravel,因爲我非常喜歡這個解決方案。我原來的查詢是這樣的:
SELECT ps.manufacturer_sku, ps.sku, ps.units, s.name AS size, ps.smis, ps.purchase_cost, ps.branch_cost,
ps.annual_sales_unit, ps.annual_sales_dollar, ps.pipeline_unit, ps.pipeline_dollar, ps.upc_barcode, ps.lvl_1_scc_barcode,
ps.mast_carton_scc_barcode, ps.pallet_scc_barcode, ps.prod_manufacturer_comp, ps.part_no_comp, ps.wd_price_comp,
ps.jobber_price_comp, ps.refinisher_price_comp, ps.retail_price_comp, ps.initial_lead_time, ps.reorder_lead_time,
ps.min_quant, ps.manufacturer_location, ps.country_code, ps.tariff_code, ps.weight, ps.lngth, ps.height, ps.width,
ps.shipping_desc, ps.lvl_1_quant, ps.master_carton_quant, ps.pallet_quant, ps.wd_price_rec, ps.jobber_price_rec,
ps.refinisher_price_rec, ps.retail_price_rec
FROM product_sku AS ps
INNER JOIN size_code AS s ON s.id = ps.size_code_id
WHERE ps.product_id = 4741;
非常難看..
使用您的一部開拓創新的查詢。用你的長選擇語句,然後而不是說內連接,嘗試「從product_sku作爲ps,size_code爲s其中ps.product_id = 4741和s.id = ps.size_code_id」 – woodlumhoodlum
第二個查詢工作正常......但它很醜我試圖切換到我發佈的第一個。 – HaleyBuggs
而且仍然說模棱兩可的通知 – HaleyBuggs