2017-08-03 12 views
0

次のコードがあります。いくつかの場合、t1.LineNo = 2は存在しないので、Val2をnullまたは空白にします。しかし、私は、これはテーブルですが、私のコードは、この行が存在しない場合は空白

Job  Description    Value  Description2  Value 2 
235416 Sunday Collection   325  Rush Charge  82 

ようにそれを作るのライン2は、常に私のある存在しません

select 
    MOTRAN_HAJobFile.JobNumber 
    ,MOTRAN_HAExtraChg.Description,MOTRAN_HAExtraChg.Value 

    ,***(select t1.Value from MOTRAN_HAExtraChg t1 
where MOTRAN_HAExtraChg.JobUniqueKey = t1.JobUniqueKey 
and t1.LineNo = 2) as Val2*** 

from 
    MOTRAN_HAJobFile 
    left outer join 
    MOTRAN_HAExtraChg 
    on MOTRAN_HAExtraChg.JobUniqueKey = MOTRAN_HAJobFile.UniqueKey 
where 
    MOTRAN_HAJobFile.JobNumber = '235416' 

EDITED

Job    line  Description      Value 
235416    1   Sunday Collection    325 
235416    2   Rush Charge      82  

を動作するようにそれを得るカント問題2つだけを空白のままにしておきたい。

+0

あなたはSQL Serverを使用している場合(ISNULLを使用してみてください)あなたは、MySQLを使用している場合は、その後(IFNULLを使用) – Disturb

+1

あなたがそれをどういう意味ですか動作しませんか?あなたは "nullまたは空白"ではない場合、あなたはVal2のために何を得ていますか? –

+0

t1.LineNo = 2が存在しない場合、Val2は既にnullになります。これはおそらく、あなたの関係/結合などの問題がおそらく他のものであることを意味します。しかし、私たちはあなたが望むものを見ることができるように、私は にISNULLを置けばMOTRAN_HAJobFile.JobNumberを選択 – Matt

答えて

0

サンプルテーブルとデータ

CREATE TABLE jobfile 
(job VARCHAR(6), 
line INT, 
description VARCHAR(50), 
value INT 
) 

INSERT INTO jobfile 
VALUES ('235416',1,'Sunday Collection',325); 

INSERT INTO jobfile 
VALUES ('235416',2,'Rush Charge',82); 

INSERT INTO jobfile 
VALUES ('100001',1,'Sunday Collection',900); 

job  line description   value 
235416 1  Sunday Collection 325 
235416 2  Rush Charge   82 
100001 1  Sunday Collection 900 

クエリ

SELECT DISTINCT jf.job, 
     (SELECT description FROM jobfile WHERE job = jf.job AND line = 1) AS description, 
     (SELECT value FROM jobfile WHERE job = jf.job AND line = 1) AS value, 
     (SELECT description FROM jobfile WHERE job = jf.job AND line = 2) AS description2, 
     (SELECT value FROM jobfile WHERE job = jf.job AND line = 2) AS value2 
    FROM jobfile jf 

サンプル結果

job  description   value  description2 value2 
100001 Sunday Collection 900   NULL   NULL 
235416 Sunday Collection 325   Rush Charge  82 
+0

あなたは伝説です – TCmc

関連する問題