2017-07-06 9 views
0

ヘルプが必要です。インナーJoinに2列を掛ける

私は2つの列を掛けて、結果を新しい列(totalQty)に表示します。 TotalQty =(ITY00.CMPITQTY * MPOS_GP_InvTransaction.Quantity)

これはどのようにして達成できますか?

Select 
    MPOS_GP_InvTransaction.id, 
    MPOS_GP_InvTransaction.[Type], 
    MPOS_GP_InvTransaction.Vendor, 
    MPOS_GP_InvTransaction.Currency,ITY00.CMPTITNM, 
    MPOS_GP_InvTransaction.BatchId, 
    MPOS_GP_InvTransaction.UserId, 
    MPOS_GP_InvTransaction.ItemNo, 
    MPOS_GP_InvTransaction.SiteId, 
    ITY00.CMPITQTY, 
    MPOS_GP_InvTransaction.Quantity, 
    MPOS_GP_InvTransaction.IntegrationFlag 
From DB_37788.dbo.MPOS_GP_InvTransaction 
INNER JOIN TWCL.dbo.ITY00 ON ITY00.ITEMNMBR=MPOS_GP_InvTransaction.ItemNo 
Where (MPOS_GP_InvTransaction.ItemNo like '%-GTYR%') 
OR (MPOS_GP_InvTransaction.ItemNo like '%-JKOP%') 
And (MPOS_GP_InvTransaction.SiteId IN('MM-DC-ZZQW','MM-DC-TTYR')) 
And (MPOS_GP_InvTransaction.IntegrationFlag = 0) 
+0

? 'ITY00.CMPITQTY * MPOS_GP_InvTransaction.Quantity'を使用して?。エイリアスを与えることに関しては、 'ITY00.CMPITQTY * MPOS_GP_InvTransaction.Quantity AS TotalQty'を使用することができます。 – Lamak

+0

あなたの例はSQL Serverで動作するはずです。他のRDBMは[alias = expression]構文を受け入れないことがあります。この場合、より一般的な[expression as alias]構文が機能するはずです。 –

+0

Erm、ちょうど試してください – Strawberry

答えて

2
SELECT MPOS_GP_InvTransaction.id, 
     MPOS_GP_InvTransaction.Type, 
     MPOS_GP_InvTransaction.Vendor, 
     MPOS_GP_InvTransaction.Currency, 
     ITY00.CMPTITNM, 
     MPOS_GP_InvTransaction.BatchId, 
     MPOS_GP_InvTransaction.UserId, 
     MPOS_GP_InvTransaction.ItemNo, 
     MPOS_GP_InvTransaction.SiteId, 
     ITY00.CMPITQTY, 
     MPOS_GP_InvTransaction.Quantity, 
     MPOS_GP_InvTransaction.IntegrationFlag, 
     ITY00.CMPITQTY * MPOS_GP_InvTransaction.Quantity AS TotalQty 
FROM DB_37788.dbo.MPOS_GP_InvTransaction 
    INNER JOIN TWCL.dbo.ITY00 ON ITY00.ITEMNMBR = MPOS_GP_InvTransaction.ItemNo 
WHERE(MPOS_GP_InvTransaction.ItemNo LIKE '%-GTYR%') 
    OR (MPOS_GP_InvTransaction.ItemNo LIKE '%-JKOP%') 
    AND (MPOS_GP_InvTransaction.SiteId IN('MM-DC-ZZQW', 'MM-DC-TTYR')) 
    AND (MPOS_GP_InvTransaction.IntegrationFlag = 0);