Hinzufügen einer SUMME Spalte einer Abfrage
Ich versuche eine Abfrage gibt die Informationen eines Kauf-Rechnung, aber auch da gibt es eine weitere Tabelle, die Details der Rechnung, aber ich muss hinzufügen, dass die Gesamtzahl der an die andere Abfrage, aber ich kann nicht fügen Sie die Spalte, weil es sagt, dass ich brauche, um in die Gruppe, die von den gleichen Objekte, die in der select -, und ich habe versucht, es auf diese Weise, aber es sagt, dass es mehr als einen Wert zurückgibt. Hilfe bitte! 😀
SELECT fc.fecha_factura_compra AS fecha, fc.id_factura AS no_factura, fc.serie,
o.abreviatura + CAST(p.corr_id AS VARCHAR(255)) AS codigo_trupp,
p.nombre, fc.dias_credito, fc.tipo_cambio,
(SELECT SUM(dc.peso_neto * dc.precio_unitario)
FROM detalle_compra AS dc
GROUP BY dc.id_proveedor,
dc.id_factura,
dc.serie) AS total
FROM factura_compra AS fc,
origen AS o,
proveedor AS p,
detalle_compra AS dc
WHERE fc.id_proveedor = p.id_proveedor
AND dc.id_proveedor = p.id_proveedor
AND dc.id_factura = fc.id_factura
AND p.id_origen = o.id_origen
AND dc.serie = fc.serie
AND dc.id_factura = fc.id_factura
AND dc.id_proveedor = fc.id_proveedor
AND fc.activo_inactivo = 'true'
AND fc.anulada = 'false'
- Werden Sie, bitte, fügen Sie die Abfrage mit "group by" und der genauen Fehlermeldung dann?
- Möchten Sie einen Kommentar hinzufügen zu erklären, warum Sie verliehen haben ein Kopfgeld? Macht marcelos Antwort nicht für Sie arbeiten?
- Ich bekomme die folgende Fehlermeldung:
Column <col1> is invalid because it is not contained in either an aggregate function or the GROUP BY clause
Du musst angemeldet sein, um einen Kommentar abzugeben.
Statt zu grouping-Spalten, sollten Sie beschränken die sub-select auf die join-Spalten und weglassen
detalle_compra
von der äußeren select:Seite Hinweis: Verwenden Sie die BIT-Typ zu speichern Boolesche Werte:
Den Bau mit der Unterabfrage ist extrem langsam und sollte vermieden werden. Eine bessere Lösung ist, schreiben Sie die Abfrage, wie unten.
Insgesamt zu einer Abfrage müssen Sie
group by
über alle anderen Felder in der Ergebnismenge.