2015-07-28 3 views
1

Я хотел бы добавить поле к существующему запросу, который не получает пострадавший от «Где функции»ACCESS SQL-запрос: добавление нового поля?

Например,

Это исходный код ....

SELECT SHELL_Payables.PoolNum, 
A.[Code], B.[Program] AS Program, A.PayableAmt, C.ReceivableAmt INTO [New Data] 

FROM A INNER JOIN B ON A.ID=B.ID 
       INNER JOIN C ON A.Num=B.Num 

WHERE (((A.AccountingPeriod)<=[AccountingYearMonth])); 

Я хотел бы еще раз добавить A.PayableAmt, но на этот раз, когда пункт (accountingperiod <= accountingyearMonth) не следует применять к этой области ...

Любой я ДЕКАК? Это будет высоко ценится.

+0

включают данные образца, с ожиданием ed output – HaveNoDisplayName

+0

@PeterJeong Вам нужно, чтобы поле «PayableAmt» отображалось дважды в одной строке или это отдельная строка, в которой фильтр не применяется? – FutbolFan

+0

@FutbolFan Для вывода он должен отображаться дважды в той же строке, но по-разному назван –

ответ

0

Чтобы использовать union и select into, вам нужно будет написать что-то запрос, как это:

SELECT * 
INTO [New Data] 
FROM (
    SELECT PoolNum 
     ,A.[Code] 
     ,B.[Program] AS Program 
     ,A.PayableAmt 
     ,C.ReceivableAmt 
    FROM A 
    INNER JOIN B ON A.ID = B.ID 
    INNER JOIN C ON A.Num = B.Num 
    WHERE A.AccountingPeriod <= AccountingYearMonth 

    UNION 

    SELECT PoolNum 
     ,A.[Code] 
     ,B.[Program] AS Program 
     ,A.PayableAmt 
     ,C.ReceivableAmt 
    FROM A 
    INNER JOIN B ON A.ID = B.ID 
    INNER JOIN C ON A.Num = B.Num 
    ) 

UPDATE

Если вы хотите добавить еще один PayableAmt столбец в той же строке, может быть, вы может присоединиться к столу. Примерно так:

SELECT t.PoolNum 
     ,a.[Code] 
     ,a.[Program] AS Program 
     ,t.PayableAmt 
     ,a.PayableAmt AS NewPayableAmt 
     ,C.ReceivableAmt 
INTO [New Data] 
FROM A 
LEFT JOIN 
(
    SELECT 
     PoolNum 
     ,A.[Code] 
     ,B.[Program] AS Program 
     ,A.PayableAmt 
     ,C.ReceivableAmt 
    FROM A 
    INNER JOIN B ON A.ID = B.ID 
    INNER JOIN C ON A.Num = B.Num 
    WHERE A.AccountingPeriod <= AccountingYearMonth 
    ) t 
    ON t.Code = A.Code --assuming this is unique 
INNER JOIN B ON A.ID = B.ID 
INNER JOIN C ON A.Num = B.Num 
+1

большое вам спасибо! Im a barca fan тоже haha ​​ –

+0

Visca Barca! :) – FutbolFan

+0

Пожалуйста, ознакомьтесь с моим обновленным ответом. – FutbolFan

Смежные вопросы