gpt4 book ai didi

php - 使用 information_schema 列不明确

转载 作者:行者123 更新时间:2023-11-29 13:15:53 24 4
gpt4 key购买 nike

我有下面的代码:

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表中引用该尺码代码的名称即可。

任何帮助将不胜感激。我希望我可以使用 fluent/eloquent =) 将其翻译成 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;

太丑了..

最佳答案

我并不声称了解您的字符串处理(REPLACE 逻辑)。但是,当您使用 information_schema 数据构建查询时,最好使用表名称来限定列名称。

也就是说,也许

GROUP_CONCAT(COLUMN_NAME)

应该是

GROUP_CONCAT(CONCAT(TABLE_NAME,'.','COLUMN_NAME))

关于php - 使用 information_schema 列不明确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21461712/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com