Я получаю этот столбец # 1054 -unnown в сообщении об ошибке заказа после того, как я экспортирую свою базу данных с одного хостинга с MySql 5.7.23-cll-lve на другой хостинг с MariaDB 10.2.27-MariaDB-cll-lve. У меня оба хостинга работают прямо сейчас, поэтому я вижу, что запросы работают в первом и в MariaDB выдает эту ошибку. И я проверил, что столбец существует, структура такая же. Я также пытаюсь экспортировать, используя «MYSQL40», но ничего не изменилось.
Что я могу сделать?
Я поставлю запрос, который вызывает проблему (не единственный, нодругие похожи):
SELECT * FROM (
(SELECT result.*, IFNULL(SUM(mv.monto_pago_fv), 0) AS pago FROM(
(SELECT DISTINCT f.id_factura_de_venta, f.numero_factura_de_venta, f.fecha_contable_fv, f.fecha_fv, f.anular_fv,
f.id_cliente, f.tipo,
c.rut, c.nombre, SUM(fot.monto_pago_ot) AS monto_facturado_neto, SUM(ROUND(fot.monto_pago_ot*0.19)) AS iva
FROM facturas_de_ventas f
JOIN clientes_y_proveedores c ON f.id_cliente=c.id_cliente_o_proveedor
JOIN facturas_de_ot fot ON f.id_factura_de_venta=fot.id_factura_de_venta
GROUP BY f.id_factura_de_venta
ORDER BY f.id_factura_de_venta DESC)
UNION
(SELECT id_factura_de_venta, numero_factura_de_venta, fecha_contable_fv, fecha_fv, anular_fv,
id_cliente, tipo, rut, nombre, SUM(monto_facturado_neto) AS monto_facturado_neto, SUM(iva) as iva FROM(
(SELECT DISTINCT f.*, c.rut, c.nombre, SUM(s.valor_sf*s.cantidad_sf) AS monto_facturado_neto,
SUM(ROUND(s.valor_sf*s.cantidad_sf*0.19)) as iva
FROM facturas_de_ventas f
JOIN clientes_y_proveedores c ON f.id_cliente=c.id_cliente_o_proveedor
JOIN servicios_factura s ON f.id_factura_de_venta=s.id_factura_de_venta
GROUP BY f.id_factura_de_venta)
UNION
(SELECT DISTINCT f.*, c.rut, c.nombre, SUM(mf.valor_mf*mf.cantidad_mf) AS monto_facturado_neto, SUM(IF(m.iva_material=1, mf.valor_mf*mf.cantidad_mf*0.19, 0)) AS iva
FROM facturas_de_ventas f
JOIN clientes_y_proveedores c ON f.id_cliente=c.id_cliente_o_proveedor
JOIN materiales_factura mf ON f.id_factura_de_venta=mf.id_factura_de_venta
JOIN materiales m ON mf.id_material=m.id_material
GROUP BY f.id_factura_de_venta)
) AS fms
GROUP BY id_factura_de_venta)
) AS result
LEFT JOIN montos_pago_v mv ON result.id_factura_de_venta=mv.id_factura_de_venta
GROUP BY result.id_factura_de_venta)
UNION ALL
(SELECT DISTINCT f.id_factura_de_venta, ncv.numero_ncv, ncv.fecha_contable_ncv, ncv.fecha_ncv,
f.anular_fv, f.id_cliente, 'Nota crédito' AS tipo, c.rut, c.nombre,
ncv.valor_descontado_ncv AS total_neto, ROUND(ncv.valor_descontado_ncv*0.19) AS iva, SUM(IFNULL(m.monto_pago, 0)) AS pago
FROM notas_credito_ventas ncv
JOIN facturas_de_ventas f ON ncv.id_factura_de_venta=f.id_factura_de_venta AND f.anular_fv=0
JOIN clientes_y_proveedores c ON f.id_cliente=c.id_cliente_o_proveedor
LEFT JOIN montos_pago_ncv m ON ncv.id_nota_credito_venta=m.id_nota_credito_venta
WHERE ncv.valor_descontado_ncv != 0
GROUP BY ncv.id_nota_credito_venta
ORDER BY ncv.id_nota_credito_venta)
)AS r
WHERE tipo!='boleta' AND MONTH(fecha_contable_fv) =11 AND YEAR(fecha_contable_fv) =2019;
Я проверил, и проблема в заключительном предложении WHERE, особенно после "tipo! = 'boleta'", потому что все остальные запросы в скобках доказываются индивидуально, и они работают, и я также стираю часть «И МЕСЯЦ (fecha_contable_fv) = 11 И ГОД (fecha_contable_fv) = 2019», и в этом случае он работает на хостинге с MariaDB, повторяю, что этот же запрос отлично работает на другом хостинге с Mysql. Таким образом, проблема должна заключаться в каком-то варианте на новом хостинге, или, возможно, в способе экспорта, или, может быть, мне следует исправить многие запросы сейчас, когда я использую MariaDB. Я надеюсь, что кто-то может мне помочь. Заранее спасибо.