-
select distinct und order by - V5R2Mo abbruch
Hallo all,
ich bekomme in einer ADO.NET-Anwendung folgenden SQL abbruch:
auf der Iseries läuft V5R2M0
Failed to execute database command: 'SELECT DISTINCT T0."SALE_ID", T0."SALEDATE", T0."PROBABILITY", T0."STATUS", T0."HEADING", T0."AMOUNT", T3."NAME", T1."NAME", T4."NAME", T0."PERSON_ID", T5."FIRSTNAME", T5."MIDDLENAME", T5."LASTNAME", VARCHAR(T2."TEXT", 2048), T0."PROJECT_ID", T0."CONTACT_ID", T0."EARNING", T0."EARNING_PERCENT", T0."ASSOCIATE_ID", T0."GROUP_IDX", T0."VISIBILITY", T0."DONE", T0."REGISTERED", T0."REGISTERED_ASSOCIATE_ID", T3."CONTACT_ID", T3."ASSOCIATE_ID", T3."BUSINESS_IDX", T3."GROUP_ID", T3."REGISTERED", T3."REGISTERED_ASSOCIATE_ID", T3."XSTOP", T4."PROJECT_ID", T4."ASSOCIATE_ID", T4."GROUP_ID", T4."REGISTERED", T4."REGISTERED_ASSOCIATE_ID", T5."PERSON_ID", T5."ASSOCIATE_ID", T5."GROUP_ID", T5."REGISTERED", T5."REGISTERED_ASSOCIATE_ID", T5."RETIRED", T7."CONTACT_ID", T7."ASSOCIATE_ID", T7."BUSINESS_IDX", T7."GROUP_ID", T7."REGISTERED", T7."REGISTERED_ASSOCIATE_ID", T7."XSTOP" FROM CRM5."SALE" T0 LEFT OUTER JOIN CRM5."CURRENCY" T1 ON (T0."CURRENCY_ID" = T1."CURRENCY_ID") LEFT OUTER JOIN CRM5."TEXT" T2 ON (T0."TEXT_ID" = T2."TEXT_ID") LEFT OUTER JOIN CRM5."CONTACT" T3 ON (T0."CONTACT_ID" = T3."CONTACT_ID") LEFT OUTER JOIN CRM5."PROJECT" T4 ON (T0."PROJECT_ID" = T4."PROJECT_ID") LEFT OUTER JOIN CRM5."PERSON" T5 ON (T0."PERSON_ID" = T5."PERSON_ID") INNER JOIN CRM5."VISIBLEFOR" T6 ON (T0."SALE_ID" = T6."RECORDID" AND (T6."TABLEID" = @P0) AND(((((T6."FORALL" = @P1) OR(T6."FORASSOCID" = @P2))) OR(T6."FORGROUPID" IN(@P3, @P4))))) LEFT OUTER JOIN CRM5."CONTACT" T7 ON (T5."CONTACT_ID" = T7."CONTACT_ID") WHERE T0."SALE_ID" = @P5 ORDER BY UPPER(T0."HEADING") ASC'
On Database: 'IBM.Data.DB2.iSeries.iDB2Connection'
Der Abbruch ist berechtigt weil im Select das T0.heading ohne UPPER steht.
Jetzt meine Frage :
Ist dies in Versin V5R3M0 eine gültige Anweisung (muss ich einen Releasewechsel machen???) !
Gruss Holger
-
Hallo Holger,
Wenn Distinct und Order By in einem Select-Statement verwendet werden, müssen die Order By-Spalten mit den im Select angegebenen Spalten übereinstimmen.
Das ist auch unter Release V5R4 so.
Das einzige, was Du machen kannst, ist eine zusätzliche Spalte beim Select mit Upper(Feld) angeben oder die Sortierreihenfolge von HEX auf LangIdShr oder LangIdUnq ändern.
Birgitta
-
Die OrderBy-Klausel darf nur Feldnamen, die in diesem Fall im Select enthalten sein müssen, aufführen.
SQL-Funktionen wie UPPER sind hier nicht erlaubt:
select UPPER(T0."HEADING"), ...
ORDER BY T0."HEADING" ASC'
-
Hallo Baldur,
ich stimme da nur Birgitta zu:
SELECT distinct location, UPPER(LOCATION)
FROM appointment WHERE PROJECT_ID >
9290 ORDER BY UPPER(LOCATION)
SELECT-Anweisung vollständig verarbeitet.
funzt auch unter V5R2M0.
Gruss Holger
Aber intersessant zu wissen, dass das so unter 5.4 auch nicht geht - das war ja meine eigentliche Frage.
Weiß jemand evtl. ob das unter SQL-Server von Kleinweich oder oracle funktioniert wenn in Order By was anderes steht als in select?
Danke
-
Hallo,
nach SQL Standard ist order by eine Funktion des Result Sets und was man da nicht drin hat, danach kann man gemäß elementarer Logik nicht sortieren. Ohne das distinct könnte man das upper(ebbes) mit aufnehmen und dann ignorieren, mit dem distinct kann man da nochwas über einen join zusammen basteln, oder die Sortierfolge austricksen, wenn die Fußnägel das noch mitmachen ohne sich aufzurollen.
mfg
Dieter Bender
 Zitat von holly
Hallo Baldur,
ich stimme da nur Birgitta zu:
SELECT distinct location, UPPER(LOCATION)
FROM appointment WHERE PROJECT_ID >
9290 ORDER BY UPPER(LOCATION)
SELECT-Anweisung vollständig verarbeitet.
funzt auch unter V5R2M0.
Gruss Holger
Aber intersessant zu wissen, dass das so unter 5.4 auch nicht geht - das war ja meine eigentliche Frage.
Weiß jemand evtl. ob das unter SQL-Server von Kleinweich oder oracle funktioniert wenn in Order By was anderes steht als in select?
Danke
Similar Threads
-
By cheffe1008 in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 21-09-06, 16:05
-
By rr2001 in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 07-07-06, 09:56
-
By klausgkv in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 08-06-06, 13:47
-
By holly in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 16-05-06, 12:45
-
By Akku in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 10-05-06, 08:07
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks