Erstellt vor 6 Jahren
Geschlossen vor 6 Jahren
#981 closed Fehler (fixed)
SQL-Fehler bei Checkbox-Kombinationen unter Stammdaten -> Berichte
| Erstellt von: | mike.constabel@… | Verantwortlicher: | p.reetz@… |
|---|---|---|---|
| Priorität: | normal | Meilenstein: | |
| Komponente: | kivitendo ERP | Version: | 2.6.0 beta |
| Schweregrad: | schwerwiegend | Stichworte: | Stammdaten |
| Beobachter: | s.schoeling@… |
Beschreibung
Stammdaten -> Berichte:
Kunden:
Wenn man in der Auswahl die Häkchen Rechnungen, Aufträge, Angebote kombiniert, also, Beispiel, Häkchen "Rechnungen UND Aufträge UND Angebote" setzt, gibts diesen Fehler:
SELECT ct.*, b.description AS business, a.invnumber, a.ordnumber, a.quonumber, a.id AS invid, 'is' AS module, 'invoice' AS formtype, (a.amount = a.paid) AS closed FROM customer ct JOIN ar a ON (a.customer_id = ct.id) LEFT JOIN business b ON (ct.business_id = b.id) WHERE 1 = 1 AND NOT obsolete AND (a.invoice = '1') UNION SELECT ct.*, b.description AS business, ' ' AS invnumber, o.ordnumber, o.quonumber, o.id AS invid, 'oe' AS module, 'order' AS formtype, o.closed FROM customer ct JOIN oe o ON (o.customer_id = ct.id) LEFT JOIN business b ON (ct.business_id = b.id) WHERE 1 = 1 AND NOT obsolete AND (o.quotation = '0') UNION SELECT ct.*, b.description AS business, ' ' AS invnumber, o.ordnumber, o.quonumber, o.id AS invid, 'oe' AS module, 'quotation' AS formtype, o.closed FROM customer ct JOIN oe o ON (o.customer_id = ct.id) LEFT JOIN business b ON (ct.business_id = b.id) WHERE 1 = 1 AND NOT obsolete AND (o.quotation = '1') ORDER BY lower(name) ASC
FEHLER: ungültige ORDER-BY-Klausel mit UNION/INTERSECT/EXCEPT
DETAIL: Es können nur Ergebnisspaltennamen verwendet werden, keine Ausdrücke oder Funktionen.
HINT: Fügen Sie den Ausdrück/die Funktion jedem SELECT hinzu oder verlegen Sie die UNION in eine FROM-Klausel.
Bei Lieferanten dasselbe mit Kombinationen von Rechnungen, Lieferantenaufträge, Preisanfragen:
SELECT ct.*, b.description AS business, a.invnumber, a.ordnumber, a.quonumber, a.id AS invid, 'ir' AS module, 'invoice' AS formtype, (a.amount = a.paid) AS closed FROM vendor ct JOIN ap a ON (a.vendor_id = ct.id) LEFT JOIN business b ON (ct.business_id = b.id) WHERE 1 = 1 AND NOT obsolete AND (a.invoice = '1') UNION SELECT ct.*, b.description AS business, ' ' AS invnumber, o.ordnumber, o.quonumber, o.id AS invid, 'oe' AS module, 'order' AS formtype, o.closed FROM vendor ct JOIN oe o ON (o.vendor_id = ct.id) LEFT JOIN business b ON (ct.business_id = b.id) WHERE 1 = 1 AND NOT obsolete AND (o.quotation = '0') UNION SELECT ct.*, b.description AS business, ' ' AS invnumber, o.ordnumber, o.quonumber, o.id AS invid, 'oe' AS module, 'quotation' AS formtype, o.closed FROM vendor ct JOIN oe o ON (o.vendor_id = ct.id) LEFT JOIN business b ON (ct.business_id = b.id) WHERE 1 = 1 AND NOT obsolete AND (o.quotation = '1') ORDER BY lower(name) ASC
FEHLER: ungültige ORDER-BY-Klausel mit UNION/INTERSECT/EXCEPT
DETAIL: Es können nur Ergebnisspaltennamen verwendet werden, keine Ausdrücke oder Funktionen.
HINT: Fügen Sie den Ausdrück/die Funktion jedem SELECT hinzu oder verlegen Sie die UNION in eine FROM-Klausel.
Änderungshistorie (2)
comment:1 Geändert vor 6 Jahren durch s.schoeling@…
- Beobachter s.schoeling@… hinzugefügt
- Status von new nach assigned geändert
comment:2 Geändert vor 6 Jahren durch s.schoeling@…
- Lösung auf fixed gesetzt
- Status von assigned nach closed geändert
Fix in -r4113

schau ich mit mal an.