我需要在join预先存在的SQL查询中添加"级别"...不幸的是,我不断收到此查询的错误.我可能会摔倒在某处,但我无法理解如何修复它.原始查询如下:
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;
Run Code Online (Sandbox Code Playgroud)
我需要以moduli_ocr这种方式将结果表与表连接起来:
SELECT
noleggio.*
FROM
(//query//) AS noleggio
LEFT JOIN
moduli_ocr ON moduli_ocr.id_noleggio = noleggio.id;
Run Code Online (Sandbox Code Playgroud)
//查询//是上面的代码.
我得到的错误(在MySQL Workbench中运行查询是:
Error Code: 1054. Unknown column 'noleggio.id' in 'on clause'
Run Code Online (Sandbox Code Playgroud)
顺便说一下,我不确定是否必须使用RIGHT或LEFT加入,但一旦查询正确"运行",我将检查这一点.
最好的祝福.
小智 5
您似乎将idnoleggio别名分配给字段"id".尝试加入
moduli_ocr.id_noleggio = noleggio.idnoleggio;
Run Code Online (Sandbox Code Playgroud)