2016-07-29 22 views
1

Diese Abfrage ist nicht das, was wir brauchen. Die 2 ENT # müssen IHGRC# if = adent # + adsfx sein. So speichern sie in der App. Kann das so kombiniert werden? Zum Beispiel HRGRC# = 2558807001SQL-Abfrage zum Kombinieren von 2 Spalten möglich?

Adent # = 2.558.807 adsfx # = 001

wäre dies ein Spiel sein.

SELECT OEINH2.IHDOCD, OEINH2.IHINV#, OEINH2.IHGRC#, ADRES1.ADINTA, ADRES1.ADENT#, ADRES1.ADSFX# 
FROM ASTDTA.OEINH2 
     INNER JOIN ASTDTA.ADRES1 ON OEINH2.IHENT#=ADRES1.ADENT# 

ORDER BY OEINH2.IHINV# 
+1

Huh? Beispieldaten und gewünschte Ergebnisse würden wirklich anderen Leuten helfen, zu verstehen, was Sie versuchen zu tun. –

+1

Ohne die DDL, die vorgeschlagene [und akzeptierte] Verkettung von scheinbar numerischen Werten, insb. Wenn es ohne explizites Casting codiert wird, kann dies eine sehr fehlerhafte Technik sein. Bemerkenswerterweise scheint auffällig zu sein, dass man aus dem OP folgern sollte, dass die Erwartung, dass der folgende Ausdruck und der Literalwert als gleichwertig behandelt werden sollten, das folgende logische Prädikat jedoch ** falsch ** ergibt: '(2558807 concat 001) = 2558807001' – CRPence

Antwort

2

Wenn Sie nur die Werte verketten möchten, können Sie concat() verwenden:

select concat(adent#, adsfx) as HRGRC# 

oder den Verkettungsoperator verwenden:

select(adent# || adsfx) as HRGRC#