먼저 SQL을 처음 사용하고 매일 많은 것을 배우게됩니다. 그 말로는, 여기에 내 문제가있다. 이미 생성 된 뷰가 있습니다 (장비에 생성 된 수익이 표시됨). 그러나 추가 된 테이블이 하나 더 필요합니다 (장비 대비 비용). 내부 조인 테이블을 추가하려고하면 중복 뷰가 생성됩니다. 그때 또 다른 조인을 추가하려고SQL 테이블을 결합하여 수익과 비용을 비교하십시오.
SELECT
<removed, there are about 25 of them>
FROM
dbo.LRCON WITH (nolock)
INNER JOIN dbo.LRCONVIN WITH (nolock) ON dbo.LRCONVIN.ConId = dbo.LRCON.ConId
INNER JOIN dbo.LRBILCON WITH (nolock) ON dbo.LRBILCON.ConId = dbo.LRCONVIN.ConId AND dbo.LRBILCON.UntId = dbo.LRCONVIN.UntId
INNER JOIN dbo.LRBILITM WITH (nolock) ON dbo.LRBILITM.ParentItmId = dbo.LRBILCON.ItmId
INNER JOIN dbo.LRBIL WITH (nolock) ON dbo.LRBIL.BilId = dbo.LRBILCON.BilId
INNER JOIN dbo.LRCONTYP WITH (nolock) ON dbo.LRCONTYP.ConTypId = dbo.LRCON.ConTypId
INNER JOIN dbo.COLOOKUP AS C1 WITH (nolock) ON C1.Id = dbo.LRBILITM.ItmTyp
INNER JOIN dbo.COLOOKUP AS C2 WITH (nolock) ON C2.Id = dbo.LRCONTYP.ConTyp
INNER JOIN dbo.VHVIN WITH (nolock) ON dbo.VHVIN.UntId = dbo.LRCONVIN.UntId
WHERE
(dbo.LRBIL.Status = 647) AND (dbo.LRBILITM.ItmTyp <> 274)
: 선택 문을
INNER JOIN dbo.SVSLS WITH (nolock) on dbo.SVSLS.UntId = dbo.LRCONVIN.UntId
: 여기에 (그것의 수익 부분에 대한) 내 원래이다
ROUND(dbo.SVSLS.AmtSubtotal + dbo.SVSLS.AmtSupplies + dbo.SVSLS.AmtDiagnostic + dbo.SVSLS.AmtTax1 + dbo.SVSLS.AmtTax2, 2) AS SvcAmtSale
은 .. 하지만 각 원본 테이블의 각 행에 각 비용의 세부 사항을 추가하기 때문에 많은 행이 중복됩니다.
원래 테이블 : 내가 추가 한 후 https://dl.dropboxusercontent.com/u/81145403/orginal_table.jpg
나의 새로운 선택/가입 : 나는이 문제를 해결하려면 어떻게 https://dl.dropboxusercontent.com/u/81145403/failed_table.jpg
를? 하루가 끝나면 내 수익과 장비 비용을 날짜 범위에 걸쳐 비교하고 싶습니다. 나는 정말로 경비의 개별적인 세부 사항을 신경 쓰지 않는다. 단지 총액이 나에게 좋다.
:와 SvcSaleAmt으로 ROUND()를 교체 날짜 범위. 그것은 내가 심지어 조인을 시도해야한다고 생각하게하지만 다른 것을해야합니까? – user3250212