我需要在预先存在的SQL查询中添加join
'级别'...不幸的是,我一直收到此查询的错误。我可能会摔倒在某处,但我无法理解如何修复它。
原始查询如下:
SELECT
noleggio.*,
nome AS convenzionato
FROM
anag_convenzionati
RIGHT JOIN (SELECT
noleggio.*, targa, dc_standard AS dcstandard
FROM
veicoli_contratti
RIGHT JOIN (SELECT
noleggio.*,
nome AS assicurazione_pagante
FROM
anag_assicurazioni
RIGHT JOIN (SELECT
fatt_sconto_noleggio,
fatt_prezzo_noleggio,
id AS idnoleggio,
numero,
serie,
id_convenzionato,
stato_noleggio,
modalita_noleggio,
conducente,
locatario,
locazione_in_proprio,
id_assicurazione_pagante,
id_veicolo,
giorni,
fatt_giorni_noleggio,
fatt_prezzo_totale_noleggio,
data_pagamento_cliente_a_convenzionato,
ore_manodopera,
IF(locazione_in_proprio = 1, conducente, locatario) AS cedente
FROM
noleggio_veicoli
WHERE
((data_cancellazione IS NULL) OR (data_cancellazione = ''))
) AS noleggio ON noleggio.id_assicurazione_pagante = anag_assicurazioni.id
) AS noleggio ON noleggio.id_veicolo = veicoli_contratti.id
) AS noleggio ON noleggio.id_convenzionato = anag_convenzionati.id;
我需要以这种方式将结果表与moduli_ocr
表连接起来:
SELECT
noleggio.*
FROM
(//query//) AS noleggio
LEFT JOIN
moduli_ocr ON moduli_ocr.id_noleggio = noleggio.id;
//查询//是上面的代码。
我得到的错误(在MySQL Workbench中运行查询是:
Error Code: 1054. Unknown column 'noleggio.id' in 'on clause'
BTW我不确定是否必须使用RIGHT
或LEFT
加入,但一旦查询正确“运行”,我就会检查此内容。
最好的问候。
答案 0 :(得分:5)
似乎您将idnoleggio别名分配给字段“id”。尝试加入
moduli_ocr.id_noleggio = noleggio.idnoleggio;