Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql noff我目前的查询看起来像这样…@DebbsR您的示例代码可能无法放入注释中,即使这样,它也会呈现非常糟糕的效果。相反,单击问题下方的“编辑”文本,将示例代码添加到原始问题中。你也可以突出显示它,然后点击{}按钮,让它很好地呈现给你。为这一混乱道歉。这是_Sql_Join - Fatal编程技术网

Sql noff我目前的查询看起来像这样…@DebbsR您的示例代码可能无法放入注释中,即使这样,它也会呈现非常糟糕的效果。相反,单击问题下方的“编辑”文本,将示例代码添加到原始问题中。你也可以突出显示它,然后点击{}按钮,让它很好地呈现给你。为这一混乱道歉。这是

Sql noff我目前的查询看起来像这样…@DebbsR您的示例代码可能无法放入注释中,即使这样,它也会呈现非常糟糕的效果。相反,单击问题下方的“编辑”文本,将示例代码添加到原始问题中。你也可以突出显示它,然后点击{}按钮,让它很好地呈现给你。为这一混乱道歉。这是,sql,join,Sql,Join,noff我目前的查询看起来像这样…@DebbsR您的示例代码可能无法放入注释中,即使这样,它也会呈现非常糟糕的效果。相反,单击问题下方的“编辑”文本,将示例代码添加到原始问题中。你也可以突出显示它,然后点击{}按钮,让它很好地呈现给你。为这一混乱道歉。这是我第一次来这里。如何显示示例数据还不太清楚!(感谢JoeMalpass提供上述建议)JoeMalpass-我向我的同事展示了你的评论,他说谢谢你的建议四。这是一个非常有用的想法。我不太明白,但我会做一些研究,看看能发现什么。同时感谢您对代码的编


noff我目前的查询看起来像这样…@DebbsR您的示例代码可能无法放入注释中,即使这样,它也会呈现非常糟糕的效果。相反,单击问题下方的“编辑”文本,将示例代码添加到原始问题中。你也可以突出显示它,然后点击
{}
按钮,让它很好地呈现给你。为这一混乱道歉。这是我第一次来这里。如何显示示例数据还不太清楚!(感谢JoeMalpass提供上述建议)JoeMalpass-我向我的同事展示了你的评论,他说谢谢你的建议四。这是一个非常有用的想法。我不太明白,但我会做一些研究,看看能发现什么。同时感谢您对代码的编辑。第1点和第2点这些都是非常有用的。@DebbsR我已经更新了我的答案。实际上,我建议用Excel而不是SQL来解决这个问题,它的复杂性要小一些。
TransDate |  AccountDesc   |    Total    
1 July    |  Marketing     |    $50,000  
14 July   |  Marketing     |    $10,000
3 August  |  Marketing     |    $12,500
TransDate |  AccountDesc   |    Total     |  Budget 
1 July    |  Marketing     |    $50,000   |  $30,000
14 July   |  Marketing     |    $10,000   |  $30,000
3 August  |  Marketing     |    $12,500   |  $80,000
TransDate |  AccountDesc   |    Total     |  Budget 
1 July    |  Marketing     |    $50,000   |  $30,000
14 July   |  Marketing     |    $10,000   |  
3 August  |  Marketing     |    $12,500   |  $80,000
SELECT GLTrans.OPENYEAR as FinYear
, RTRIM(GLTrans.REFRENCE) AS Reference
, RTRIM(GLTrans.DSCRIPTN) AS Description
, GLTrans.TRXDATE
,
CASE
    WHEN MONTH(GLTrans.TRXDATE) = 1 THEN '07 January'
    WHEN MONTH(GLTrans.TRXDATE) = 2 THEN '08 February'
    WHEN MONTH(GLTrans.TRXDATE) = 3 THEN '09 March'
    WHEN MONTH(GLTrans.TRXDATE) = 4 THEN '10 April'
    WHEN MONTH(GLTrans.TRXDATE) = 5 THEN '11 May'
    WHEN MONTH(GLTrans.TRXDATE) = 6 THEN '12 June'
    WHEN MONTH(GLTrans.TRXDATE) = 7 THEN '01 July'
    WHEN MONTH(GLTrans.TRXDATE) = 8 THEN '02 August'
    WHEN MONTH(GLTrans.TRXDATE) = 9 THEN '03 September'
    WHEN MONTH(GLTrans.TRXDATE) = 10 THEN '04 October'
    WHEN MONTH(GLTrans.TRXDATE) = 11 THEN '05 November'
    ELSE '06 December'
END AS TransDate
, SUM(GLTrans.CRDTAMNT) * -1 AS Credit
, GLTrans.DEBITAMT AS Debit
, GLTrans.DEBITAMT - GLTrans.CRDTAMNT AS Total
,
CASE
    WHEN GLCode.ACTNUMBR_1 = 6238 THEN 'Subscriptions'
    WHEN GLCode.ACTNUMBR_1 = 6212 THEN 'Conference Expenses'
    WHEN GLCode.ACTNUMBR_1 = 6216 THEN 'Entertainment - Business Development'
    WHEN GLCode.ACTNUMBR_1 = 6217 THEN 'Entertainment -Staff Engagement'
    WHEN GLCode.ACTNUMBR_1 = 6250 THEN 'Marketing & Promotion'
    WHEN GLCode.ACTNUMBR_1 = 6265 THEN 'Staff Awards'
    WHEN GLCode.ACTNUMBR_1 = 6270 THEN 'Staff Training'
    WHEN GLCode.ACTNUMBR_1 = 6272 THEN 'Travelling'
    WHEN GLCode.ACTNUMBR_1 = 6268 THEN 'Technical Publications'
    WHEN GLCode.ACTNUMBR_1 = 6237 THEN 'Legels Fees'
    WHEN GLCode.ACTNUMBR_1 = 6262 THEN 'Staff Hiring Costs'
    ELSE 'General Expenses'
END AS AccountDesc
, RTRIM(GLCode.ACTNUMST) AS AccountNum
, GLCode.ACTNUMBR_2 AS ServiceLine
, GLCode.ACTNUMBR_4 AS Partner
, GLTrans.DEX_ROW_ID
FROM GL20000 As GLTrans
LEFT JOIN GL00105 AS GLCode ON GLCode.ACTINDX = GLTrans.ACTINDX
LEFT JOIN (
SELECT [BUDGETID]
      ,RTRIM([ACTNUMBR_1]) + '-' + RTRIM([ACTNUMBR_2]) + '-' + RTRIM([ACTNUMBR_3]) + '-' + RTRIM([ACTNUMBR_4]) AS Account
      ,[PERIODDT]
      ,[PERIODID]
      ,[BUDGETAMT]
      ,[ACCATNUM]
      ,[ACTINDX]
      ,[YEAR1]
  FROM [GPSRV].[dbo].[GL00201]
  WHERE BUDGETID = '2016 BUDGET'
  AND [ACTNUMBR_1] IN ('6238', '6212', '6216', '6217', '6250', '6265', '6270', '6272', '6268', '6237', '6262', '6213', '6214', '6215')
  AND ACTNUMBR_2  IN ('RAS', 'BRI', 'COR')
  ) AS Budget on Budget.Account = GLCode.ACTNUMST
WHERE GLCode.ACTNUMBR_1 IN ('6238', '6212', '6216', '6217', '6250', '6265', '6270', '6272', '6268', '6237', '6262', '6213', '6214', '6215')
AND GLCode.ACTNUMBR_2  IN ('RAS', 'BRI', 'COR')
and GLTrans.TRXDATE >= '2015-07-01 00:00:00.000'
AND GLTrans.TRXDATE <= DATEADD(mm, DATEDIFF(mm, 0, GETDATE()), 0)
GROUP BY
      GLTrans.OPENYEAR
    , GLTrans.REFRENCE
    , GLTrans.DSCRIPTN
    , GLTrans.TRXDATE
    , GLTrans.DEBITAMT
    , GLCode.ACTNUMST
    , GLCode.ACTNUMBR_1
    , GLCode.ACTNUMBR_2
    , GLCode.ACTNUMBR_4
    , GLTrans.TRXDATE
    , GLTrans.DEBITAMT
    , GLTrans.CRDTAMNT
    , GLTrans.DEX_ROW_ID
SELECT
 GLTrans.OPENYEAR as [FinYear],
 rtrim(GLTrans.REFRENCE) as [Reference],
 rtrim(GLTrans.DSCRIPTN) as [Description],
 GLTrans.TRXDATE,
 right('0' + cast(month(dateadd(m, 6, GLTrans.TRXDATE)) as char(2)),2) + ' ' + datename(m, GLTrans.TRXDATE) as [TransDate],
 sum(GLTrans.CRDTAMNT) * -1 as [Credit],
 GLTrans.DEBITAMT as [Debit],
 GLTrans.DEBITAMT - GLTrans.CRDTAMNT as [Total],
 CASE GLCode.ACTNUMBR_1
    WHEN 6238 THEN 'Subscriptions'
    WHEN 6212 THEN 'Conference Expenses'
    WHEN 6216 THEN 'Entertainment - Business Development'
    WHEN 6217 THEN 'Entertainment -Staff Engagement'
    WHEN 6250 THEN 'Marketing & Promotion'
    WHEN 6265 THEN 'Staff Awards'
    WHEN 6270 THEN 'Staff Training'
    WHEN 6272 THEN 'Travelling'
    WHEN 6268 THEN 'Technical Publications'
    WHEN 6237 THEN 'Legels Fees'
    WHEN 6262 THEN 'Staff Hiring Costs'
    ELSE 'General Expenses'
    END AS [AccountDesc],
 rtrim(GLCode.ACTNUMST) as [AccountNum],
 GLCode.ACTNUMBR_2 as [ServiceLine],
 GLCode.ACTNUMBR_4 as [Partner],
 sum(Budget.BUDGETAMT) over (partition by rtrim(GLCode.ACTNUMST)) as [Budget]

FROM
 GL20000 as GLTrans
 LEFT JOIN GL00105 as GLCode on GLCode.ACTINDX = GLTrans.ACTINDX
 LEFT JOIN GL00201 as Budget on (rtrim(Budget.ACTNUMBR_1) + '-' + rtrim(Budget.ACTNUMBR_2) + '-' + rtrim(Budget.ACTNUMBR_3) + '-' + rtrim(Budget.ACTNUMBR_4)) = rtrim(GLCode.ACTNUMST)
                            and Budget.BUDGETID = '2016 BUDGET'
                            and Budget.ACTNUMBR_1 in ('6238', '6212', '6216', '6217', '6250', '6265', '6270', '6272', '6268', '6237', '6262', '6213', '6214', '6215')
                            and Budget.ACTNUMBR_2  in ('RAS', 'BRI', 'COR')

WHERE
 GLCode.ACTNUMBR_1 in ('6238', '6212', '6216', '6217', '6250', '6265', '6270', '6272', '6268', '6237', '6262', '6213', '6214', '6215')
 and GLCode.ACTNUMBR_2  in ('RAS', 'BRI', 'COR')
 and GLTrans.TRXDATE >= '2015-07-01 00:00:00.000'
 and GLTrans.TRXDATE <= dateadd(mm, datediff(mm, 0, getdate()), 0)

GROUP BY
 GLTrans.OPENYEAR, GLTrans.REFRENCE, GLTrans.DSCRIPTN, GLTrans.TRXDATE, GLTrans.DEBITAMT,
 GLCode.ACTNUMST, GLCode.ACTNUMBR_1, GLCode.ACTNUMBR_2, GLCode.ACTNUMBR_4, GLTrans.TRXDATE,
 GLTrans.DEBITAMT, GLTrans.CRDTAMNT, GLTrans.DEX_ROW_ID
Table 1:

| Column_1  | Column_2        | Column_3  |
|-----------|-----------------|-----------|
| some data | some other data | more data |
| etc       | second row      | stuff     |
=IF(MID(A2,IFERROR(FIND(" ",A2)+1,1),3)<>MID(A1,IFERROR(FIND(" ",A1)+1,1),3),D2,"")