-
SQL-Problem
Hallo zusammen!
Ich habe ien Problem mit einer SQL-Abfrage und brauche eure Hilfe.
Ich muss von einem PC über ODBC Daten auf der AS400 lesen.
Ich habe nun im Kundenstamm ein Feld für den Ansprechpartner Innendienst KUANID, und ein Feld für den Ansprechpartner Aussendienst KUANAD.
Die beiden Felder sind 3 stellig und numerisch.
Bei einem Kunden steht im Feld KUANID 003.
Die Tabelle User hat 4 Felder.
key1 ALPHA(1),key2 ALPHA(1),key3 ALPHA(1),text ALPHA(30)
Um nun den Ansprechpartner von oben zu bekommen,
wird key1 mit 0 , key2 mit 0 und key3 mit 3 gefüllt.
Der Tabellenaufbau ist uralt und kann von mir nicht geändert werden.
Ich versuche nun mit einem SQL-Statement den Kundensatz, und gleich die Ansprechpartner(Text) zu lesen.
Mein Versuch:
Select * from kustp, (Select text from ANSP where
key1='SUBSTR(DIGITS(KUANID),1,1)' and
key2='SUBSTR(DIGITS(KUANID),2,1)' and
key3='SUBSTR(DIGITS(KUANID),3,1)' ) AS anspad
-> das geht so net
Hat jemand ne Idee ?
GRuß jogi
-
PHP-Code:
Select kustp.*, ansp.text from kustp, ansp where key1= SubStr(Digits(KUANID), 1, 1) and key2= SubStr(Digits(KUANID), 2, 1) and key3= SubStr(Digits(KUANID), 3, 1)
versuche das mal.
ungetestet
gruß ronald
-
Hallo nochmal!
Ich muss mein SQL-Statement verbessern:
Select * from kustp, (Select text from ANSP where
key1='SUBSTR(DIGITS(KUANID),1,1)' and
key2='SUBSTR(DIGITS(KUANID),2,1)' and
key3='SUBSTR(DIGITS(KUANID),3,1)' ) AS anspid,
(Select text from ANSP where
key1='SUBSTR(DIGITS(KUANAD),1,1)' and
key2='SUBSTR(DIGITS(KUANAD),2,1)' and
key3='SUBSTR(DIGITS(KUANAD),3,1)' ) AS anspad
where kuknr = 4711
Ich benötige den Text der Ansprechpartner für beide Felder
(KUANID und KUANAD) in einer Ausgabezeile !
Gruß Jogi
-
Substr ist doch die SQL-Funktion !
Lass das Hochkomma weg.
Das 2. Problem ist das Komma, da es ggf. als Dezimalkomma interpretiert wird, daher ein Leerzeichen vor der Ziffer.
Select * from kustp, (Select text from ANSP where
key1=SUBSTR(DIGITS(KUANID), 1, 1) and
key2=SUBSTR(DIGITS(KUANID), 2, 1) and
key3=SUBSTR(DIGITS(KUANID), 3, 1) ) AS anspad
@Ronald
Subselect geht auch an Stelle einer Tabelle.
-
Betrachte mal deinen SQL genau !
Du machst hier einen Cross-Join, da du keine Beziehung definiert hast.
Zwischen KUST und ANSP muss es eine Beziehung geben, die du am besten in die Where-Klausel legst.
Allerdings benötigst du hierfür die Schlüsselfelder zusätzlich.
Ronalds Weg ist da der bessere, da du direkt die Beziehung und Felder definieren kannst.
-
Hallo,
die FROM-Anweisung steht an der falschen Stelle:
Select kustp.*, (Select text from ANSP where
key1=SUBSTR(DIGITS(KUANID), 1 , 1) and
key2=SUBSTR(DIGITS(KUANID), 2 , 1) and
key3=SUBSTR(DIGITS(KUANID), 3 , 1) ) AS anspid,
(Select text from ANSP where
key1=SUBSTR(DIGITS(KUANAD), 1 , 1) and
key2=SUBSTR(DIGITS(KUANAD), 2 , 1) and
key3=SUBSTR(DIGITS(KUANAD), 3 , 1) ) AS anspad
from kustp
where kuknr = 4711
Gruß
M.Withake
-
DAS ist eine Frage der Betrachtungsweise.
- Singlefield-Subselect
- Join-Subselect
Was will der Programmierer !?
-
 Zitat von Fuerchau
DAS ist eine Frage der Betrachtungsweise.
- Singlefield-Subselect
- Join-Subselect
Was will der Programmierer !?
Das hat der Programmierer doch angegeben:
Ich benötige den Text der Ansprechpartner für beide Felder
(KUANID und KUANAD) in einer Ausgabezeile !
Similar Threads
-
By Stefan_Sk in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 26-05-06, 16:37
-
By Lucky4712 in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 24-05-06, 15:57
-
By cbe in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 08-06-05, 16:21
-
By itec01 in forum IBM i Hauptforum
Antworten: 9
Letzter Beitrag: 16-09-04, 18:38
-
By rebe in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 07-09-01, 13:55
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