
Originariamente inviata da
Dascos
codice:
SELECT nuc.idnuc,
nuc.nuc,
nuc.denominazione,
hw_articoli.idarticolo,
hw_articoli.nucac,
hw_articoli.descrizione,
hw_articoli.matricola,
hw_articoli.idpcac,
hw_dbsoftware.idsoftware,
hw_dbsoftware.descsoft,
hw_dbsoftware.snsoft,
hw_dbsoftware.datainstsoft,
hw_dbsoftware.idpcsw,
idpc,
schedapp
FROM((servizi.hw_dbpc hw_dbpc
INNER JOIN servizi.hw_articoli hw_articoli
ON (hw_dbpc.idpc = hw_articoli.idpcac))
INNER JOIN servizi.hw_dbsoftware hw_dbsoftware
ON (hw_dbpc.idpc = hw_dbsoftware.idpcsw))
INNER JOIN servizi.nuc nuc
ON (nuc.idnuc = hw_articoli.nucac)
AND (nuc.idnuc = hw_articoli.descrizione)
WHERE hw_dbpc.schedapp = '%d'
Così si legge meglio!
Allora, tu fai un "from" che è una join, cioè prima join poi from, con le parentesi
Secondo me dovrebbe essere
codice:
SELECT nuc.idnuc,
nuc.nuc,
nuc.denominazione,
hw_articoli.idarticolo,
hw_articoli.nucac,
hw_articoli.descrizione,
hw_articoli.matricola,
hw_articoli.idpcac,
hw_dbsoftware.idsoftware,
hw_dbsoftware.descsoft,
hw_dbsoftware.snsoft,
hw_dbsoftware.datainstsoft,
hw_dbsoftware.idpcsw,
idpc,
schedapp
FROM servizi.hw_dbpc as hw_dbpc
INNER JOIN servizi.hw_articoli as hw_articoli
ON hw_dbpc.idpc = hw_articoli.idpcac
INNER JOIN servizi.hw_dbsoftware as hw_dbsoftware
ON hw_dbpc.idpc = hw_dbsoftware.idpcsw
INNER JOIN servizi.nuc as nuc
ON nuc.idnuc = hw_articoli.nucac
AND nuc.idnuc = hw_articoli.descrizione
WHERE hw_dbpc.schedapp = '%d'
Hai delle join multiple sulle stesse tabelle ma su campi diversi o incrociati....perchè?
Credo che la parte di from...join vada rivista ma senza una struttura reale delle tabelle e qualche record di esempio è complicato