468,278 Members | 1,562 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 468,278 developers. It's quick & easy.

SQL stored procedure returns duplicates

I am new to SQL and SQL Server world. There must be a simple solution
to this, but I'm not seeing it. I am trying to create a crystal
report (v8.5) using a stored procedure from SQL Server (v2000) in
order to report from two databases and to enable parameters.

When I create the stored procedure, it joins multiple one-to-many
relationship tables. This results in repeated/duplicate records. Is
this an issue that should be solved within the stored procedure, or is
this inevitable? If latter, how do you eliminate the duplicates in
Crystal Reports?

Let's say we have three different tables - Event, Food, Equipment.
Each event may have multiple food and multiple equipments; some events
may not have food and/or equipments. The stored procedure outcome may
look like this:

Event Food Food_Qty Equipment
Equipment_Qty

Event1 Food2 10 Equipment5
1
Event1 Food4 10
NULL NULL
Event2 Food4 50 Equipment2
10
Event2 Food4 50 Equipment5
2
Event2 Food1 12 Equipment2
10
Event2 Food1 12 Equipment5
2

As you can see in Event2, for each Food variations, Equipment values
repeat. When I am creating a Crystal Reports, I have the duplication
problem.

What I would like to see in the report is either:

Event1
Food2, 10 Equipment5, 1
Food4, 10
Event2
Food4, 50 Equipment2, 10
Food1, 12 Equipment5, 2

OR:

Event1
Food2, 10
Food4, 10
Equipment5, 1
Event2
Food4, 50
Food1, 12
Equipment2, 10
Equipment5, 2

Attempt1: Using "Eliminate Duplicate Record" option does not work with
the Equipment section since CR does not recognize "Equipment2" in the
third line of the table and "Equipment2" in the fifth line of the
table as duplicates.

Event1 Food2, 10 Equipment5, 1
Food4, 10
Event2 Food4, 50 Equipment2, 10
Equipment5, 2
Food1, 12 Equipment2, 10
(duplication)
Equipment5, 2
(duplication)

Attempt2: I created group for each category (Event, Food, Equipment),
put the data in Group Headers and used "Suppress Section" to eliminate
if the same equipments are listed more than once within the Food
group. This eliminated the duplication, but the items do not align
correctly.

Event1 Food2, 10 Equipment5, 1
Food4, 10
Event2 Food4, 50 Equipment2, 10
Equipment5, 2
Food1, 12 (I want this to appear right below the
'Food4, 50' line)

I would really appreciate any suggestions! Thank you in advance.

Mar 22 '07 #1
4 6841
On Mar 23, 4:59 am, yin_n_yan...@yahoo.com wrote:
I am new to SQL and SQL Server world. There must be a simple solution
to this, but I'm not seeing it. I am trying to create a crystal
report (v8.5) using a stored procedure from SQL Server (v2000) in
order to report from two databases and to enable parameters.

When I create the stored procedure, it joins multiple one-to-many
relationship tables. This results in repeated/duplicate records. Is
this an issue that should be solved within the stored procedure, or is
this inevitable? If latter, how do you eliminate the duplicates in
Crystal Reports?

Let's say we have three different tables - Event, Food, Equipment.
Each event may have multiple food and multiple equipments; some events
may not have food and/or equipments. The stored procedure outcome may
look like this:

Event Food Food_Qty Equipment
Equipment_Qty

Event1 Food2 10 Equipment5
1
Event1 Food4 10
NULL NULL
Event2 Food4 50 Equipment2
10
Event2 Food4 50 Equipment5
2
Event2 Food1 12 Equipment2
10
Event2 Food1 12 Equipment5
2

As you can see in Event2, for each Food variations, Equipment values
repeat. When I am creating a Crystal Reports, I have the duplication
problem.

What I would like to see in the report is either:

Event1
Food2, 10 Equipment5, 1
Food4, 10
Event2
Food4, 50 Equipment2, 10
Food1, 12 Equipment5, 2

OR:

Event1
Food2, 10
Food4, 10
Equipment5, 1
Event2
Food4, 50
Food1, 12
Equipment2, 10
Equipment5, 2

Attempt1: Using "Eliminate Duplicate Record" option does not work with
the Equipment section since CR does not recognize "Equipment2" in the
third line of the table and "Equipment2" in the fifth line of the
table as duplicates.

Event1 Food2, 10 Equipment5, 1
Food4, 10
Event2 Food4, 50 Equipment2, 10
Equipment5, 2
Food1, 12 Equipment2, 10
(duplication)
Equipment5, 2
(duplication)

Attempt2: I created group for each category (Event, Food, Equipment),
put the data in Group Headers and used "Suppress Section" to eliminate
if the same equipments are listed more than once within the Food
group. This eliminated the duplication, but the items do not align
correctly.

Event1 Food2, 10 Equipment5, 1
Food4, 10
Event2 Food4, 50 Equipment2, 10
Equipment5, 2
Food1, 12 (I want this to appear right below the
'Food4, 50' line)

I would really appreciate any suggestions! Thank you in advance.
Hi,
When you joined with multiple tables it will produce duplicates. One
way is to create a temp table and store the values from one table.
Let's say the Event table. Now your rows are fixed and there are no
duplicates. Then you update the remaining columns lets say you join
with the Food and Equipment table.

Mar 23 '07 #2
On 22 Mar 2007 15:59:59 -0700, yi**********@yahoo.com wrote:
>When I create the stored procedure, it joins multiple one-to-many
relationship tables. This results in repeated/duplicate records. Is
this an issue that should be solved within the stored procedure, or is
this inevitable? If latter, how do you eliminate the duplicates in
Crystal Reports?
Hi yin_n_yang74,

You are trying to pair basically unrelated things (yes, both equipment
and food are related to an event, but there is no relationship between a
particular food row for an event and a particular equipment row for the
same event). That's why the join causes the information to be
duplicated. More aboout this problem, and a possible solution if you
want to solve this server-side, is on my blog:
http://sqlblog.com/blogs/hugo_kornel...ated-rows.aspx

However, the best solution is to handle this client side. I must admit
that I know nothing about Crystal Reports. But IF CR can handle it, I'd
advise you to open two seperate rowsets at once (one for event and food
information, using a basic joined query and ordering by event, and one
for the equipment information, also odered by event). Then process row
from both recordsets in a balanced line fashion: read one row from each
set and generate an output line until one set changes event; at that
point deplete the other set until it too changes event. Repeat until
both sets are exhausted.

--
Hugo Kornelis, SQL Server MVP
My SQL Server blog: http://sqlblog.com/blogs/hugo_kornelis
Mar 23 '07 #3
yi**********@yahoo.com wrote:
I am new to SQL and SQL Server world. There must be a simple solution
to this, but I'm not seeing it. I am trying to create a crystal
report (v8.5) using a stored procedure from SQL Server (v2000) in
order to report from two databases and to enable parameters.

When I create the stored procedure, it joins multiple one-to-many
relationship tables. This results in repeated/duplicate records. Is
this an issue that should be solved within the stored procedure, or is
this inevitable? If latter, how do you eliminate the duplicates in
Crystal Reports?
Never mind the stored procedure, have Crystal read the tables
directly: Event from the main report, Food from a subreport,
Equipment from a second subreport. Pass the primary key of
Event to each subreport as a parameter, linking it to the
appropriate foreign key within the subreport.
Mar 24 '07 #4
Thank you all for your helpful hands. However, I realized that I was
not putting enough information, which makes it difficult for you to
help me. I will make a new post with more complete information. You
have helped me get closer to what I need, though - thanks!

Apr 9 '07 #5

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

2 posts views Thread by Dino L. | last post: by
2 posts views Thread by nikolacace | last post: by
7 posts views Thread by ashtek | last post: by
1 post views Thread by peaceburn | last post: by
6 posts views Thread by yin_n_yang74 | last post: by
2 posts views Thread by =?Utf-8?B?YW5vb3A=?= | last post: by
reply views Thread by NPC403 | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.