내장 된 마법사를 사용하여 Crystal Report를 생성하면 테이블이 링크됩니다. 매개 변수가 실제 SQL 문에 포함 시킬지 여부를 결정합니다. 또한, 왜 모든 것이 큰 따옴표로 둘러싸여 있습니까? 예를 들어Crystal Report MS SQL 용 SQL 문 생성
:
SELECT "poitem"."fpono"
, "pomast"."fcompany"
, "pomast"."fvendno"
, "poitem"."fpartno"
, "poitem"."fitemno"
, "poitem"."frelsno"
, "poitem"."fordqty"
, "poitem"."frcpqty"
, "poitem"."fucostonly"
, "poitem"."flstpdate"
FROM "M2MDATA01"."dbo"."pomast" "pomast"
INNER JOIN "M2MDATA01"."dbo"."poitem" "poitem"
ON "pomast"."fpono" = "poitem"."fpono"
지금, 나는이 선택 전문 편집기에 다음을 추가하면 어떻게되는지보고 : 여기
은 CR에 의해 생성 된 내 기본 SQL 문이 될 것입니다{poitem.fcategory} = "INV" and
not ({poitem.fmultirls} = "Y" and
{poitem.frelsno} = " 0") and
{poitem.fordqty} > {poitem.frcpqty} and
cdate({poitem.flstpdate}) = {?LastPromDate} and
{poitem.forgpdate} = DateTime (2010, 10, 05, 00, 00, 00) and
{pomast.fstatus} = "OPEN"
나는 두 가지 다른 방법으로 날짜를 묻기 때문에 비교를 위해 forgpdate를 추가했습니다. 여기
내가 얻을 SQL이다 : 그것의 대부분은 직접 전송SELECT "poitem"."fpono"
, "pomast"."fcompany"
, "pomast"."fvendno"
, "poitem"."fpartno"
, "poitem"."fitemno"
, "poitem"."frelsno"
, "poitem"."fordqty"
, "poitem"."frcpqty"
, "poitem"."fucostonly"
, "poitem"."flstpdate"
, "poitem"."fcategory"
, "poitem"."fmultirls"
, "pomast"."fstatus"
, "poitem"."forgpdate"
FROM "M2MDATA01"."dbo"."pomast" "pomast"
INNER JOIN "M2MDATA01"."dbo"."poitem" "poitem"
ON "pomast"."fpono" = "poitem"."fpono"
WHERE "poitem"."fcategory" = 'INV'
AND("poitem"."fmultirls" <> 'Y'
OR "poitem"."frelsno" <> ' 0')
AND "poitem"."fordqty" > "poitem"."frcpqty"
AND("poitem"."forgpdate" >= {TS '2010-10-05 00:00:00'}
AND "poitem"."forgpdate" < {TS '2010-10-05 00:00:01'})
AND "pomast"."fstatus" = 'OPEN'
그러나 내 "없음"문을 변환.
또한 내 cdate 라인이 전혀 전송되지 않았지만 Crystal 내에서 해결되는지 확인하십시오.
Crystal이 어떻게 결정할지를 아는 사람이 있습니까? 일부 대형 데이터베이스를 사용하고 SQL 문에서 내 기준을 필요로합니다. 그렇지 않으면 Crystal에서 시간, 메모리 및 프로세싱을 낭비하는 거대한 데이터 집합을 반환합니다.
TIA.
Crystal 9 이상에서만 사용 가능합니다. 그리고 서버 측 스토어드 프로 시저만큼 빠르지는 않습니다. – MartW
나는 그것을 이해하고 그렇게 평범하게 할 것이다. 나는 Crystal 밖에서 모든 SQL을 작성하고 command 객체를 사용한다. 그러나, 나는 Crystal 마법사를 사용하는 것보다 그렇게하는 효율성에 대해 동료에게 확신 시키려고 노력했다. 그것이 바로이 문제가 일어난 방법입니다. Crystal가 원래 SQL 문에 무엇을 추가할지 결정하는 방법을 알고 있습니까? – DavidStein
@CodeByMoonlight : SQL 문이 같다고 가정하면 저장 프로 시저와 '원시'SQL 사이의 성능 차이가 대단히 중요하지 않은지 의심 스럽습니다. 또한 SP 개발 및 유지에 필요한 추가 비용과 경험을 고려해야합니다. 나는보기를 스스로 선호한다. 적어도 그들은 여러 보고서에 재사용되는 경향이있다. – craig