Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations gkittelson on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Crystal 8 Data Nuance

Status
Not open for further replies.

Thines

Technical User
Sep 8, 2004
10
US
I have two tables in my report - {database.claimlin} and {database.member} - the join between them is an equal join on a field that is comprised as such:
membernumber.membergroup.sequencenumber (i.e. 1234.G001.001).

However, this unique field in {database.claimlin} contains an invalid sequence number on the end of this field (i.e. 1234.G001.002).

When I join off of this field, but do not have the report using anything from {database.member} I pull many records regardless of the equal join not matching. Once I tell the report to look at anything from {database.member} the records in {database.claimlin} that have the invalid sequence number on the end get dropped.

Which brings me to my question: does Crystal not filter off the link until you use something from each table?
 
Check the Database->Show SQL Qeury to determine what is being passed to the database.

I'll assume that "does Crystal not filter off the link until you use something from each table?" means "does Crystal filter the link to the joined table if you don't use anything from the joined table?"

It generally filters the link to the joined table if the joined table isn't used, but that means anywhere in the report, inclusive of record selection.

Consider posting what you need to do, and include technical information:

Database/connectivity
Example data
Expecte output

-k
 
Well in looking at the SQL Query it's now glaringly obvious that Crystal does NOT filter using the join until a field from the table is being utilized in the report.

Before (with just fields from {database.claimlin}

SELECT
claimlin."claimno", claimlin."membno", claimlin."member"
FROM
"coistepp"."dbo"."claimlin" claimlin
WHERE
claimlin."membno" = '12345'



After (With the same fields in {database.claimlin} and added last name from {database.member}

SELECT
claimlin."claimno", claimlin."membno", claimlin."member",
member."lstnam"
FROM
{ oj "coistepp"."dbo"."claimlin" claimlin INNER JOIN "coistepp"."dbo"."member" member ON
claimlin."member" = member."member"}
WHERE
claimlin."membno" = '12345'
 
I'm sorry, I didn't describe that well as I followed your desrpitives. It's true, Crystal will ignore the join unless you use something from the table in older versions of Crystal.

When you used the term filtering the link, I thought that you meant that it ignored it.

-k
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top