두 개의 쿼리가 있고이를 결합하려고합니다. 특정 조건이 충족 될 때만 첫 번째 쿼리를 실행하고 다른 조건에 따라 두 번째 쿼리를 실행하여 그 중 하나만 매번 실행해야합니다. 원래는 SP 였지만 오류를 쉽게 수정하고 처리 할 수 있도록 쿼리로 변경했습니다. 여기에 쿼리가 있습니다. 조인을 사용하여 쿼리를 결합했습니다. 내가 매개 변수를 포함 if 문을 넣어야 하나의 보고서에 (매개 변수 크리스탈 리포트) 여기특정 조건부 쿼리를 실행하는 방법
1 쿼리 를 사용할 것이다 것이기 때문에 내가 그들을 분리 할 수
하는 int로 선언됩니다. 매개 변수 값이 특정 값과 같으면이 쿼리가 실행되고 두 번째 쿼리는 무시됩니다. 여기에 일치하지 않으면 두 번째 쿼리의 두 번째 if 문으로 값을 전달해야합니다.
SELECT odrf.DocEntry, odrf.CntctCode,drf1.SubCatNum, odrf.Address2, drf1.LineNum, odrf.DocType, odrf.CANCELED, odrf.Handwrtten, odrf.DocStatus, odrf.Transfered, odrf.DocDate, odrf.DocDueDate,
odrf.CardCode, odrf.Printed, odrf.CardName, odrf.Address, odrf.NumAtCard, odrf.VatPercent, odrf.VatSum, odrf.VatSumFC, odrf.DiscPrcnt, odrf.DiscSumFC,
odrf.DiscSum, odrf.PaidToDate, odrf.DocTotalFC, odrf.DocTotal, odrf.DocRate, odrf.Comments, odrf.VatSumSy, odrf.DocTotalSy,odrf.NumAtCard, odrf.CreateDate, odrf.DocNum, drf1.U_LCCP,
odrf.TaxDate, drf1.ItemCode, drf1.Dscription, drf1.Price, drf1.DiscPrcnt AS Expr1, drf1.Rate, drf1.Quantity, drf1.StockSum, drf1.unitMsr, drf1.BaseDocNum,drf1.LineTotal, nnm1.seriesname
FROM odrf INNER JOIN
drf1 ON odrf.DocEntry = drf1.DocEntry
inner join nnm1 on odrf.series = nnm1.series
where ODRF.DocEntry = {[email protected]} and odrf.ObjType = 15
UNION
2 다음은 쿼리 또한 내가 둘 필요는 IF 매개 변수 (1 쿼리에 사용 된 같은 매개 변수) 특정 동일한 경우 확인합니다 문 값. 그렇다면이 쿼리가 실행됩니다.
SELECT odln.DocEntry, odln.CntctCode,dln1.SubCatNum, odln.Address2, dln1.LineNum, odln.DocType, odln.CANCELED, odln.Handwrtten, odln.DocStatus, odln.Transfered, odln.DocDate, odln.DocDueDate,
odln.CardCode, odln.Printed, odln.CardName, odln.Address, odln.NumAtCard, odln.VatPercent, odln.VatSum, odln.VatSumFC, odln.DiscPrcnt, odln.DiscSumFC,
odln.DiscSum, odln.PaidToDate, odln.DocTotalFC, odln.DocTotal, odln.DocRate, odln.Comments, odln.VatSumSy, odln.DocTotalSy,ODLN.NumAtCard, odln.CreateDate, ODLN.DocNum, dln1.U_LCCP,
odln.TaxDate, dln1.ItemCode, dln1.Dscription, dln1.Price, dln1.DiscPrcnt AS Expr1, dln1.Rate, dln1.Quantity, dln1.StockSum, dln1.unitMsr, dln1.BaseDocNum,dln1.LineTotal, nnm1.seriesname
FROM odln INNER JOIN
dln1 ON odln.DocEntry = dln1.DocEntry
inner join nnm1 on odln.series = nnm1.series
where odln.DocEntry = {[email protected]}
무엇이 문제입니까? IF가 필요 없지만 매개 변수를 두 개의 WHERE 절에 추가하면됩니다. –
글쎄, 내가 쿼리를 실행해야 지정해야합니다 그렇지 않으면 둘 다 exicute 것입니다 및 데이터 quieris 모두에서 온 것입니다 – user3665959