dbTalk Databases Forums  

SQL stored procedure returns duplicates

comp.databases.ms-sqlserver comp.databases.ms-sqlserver


Discuss SQL stored procedure returns duplicates in the comp.databases.ms-sqlserver forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
yin_n_yang74@yahoo.com
 
Posts: n/a

Default SQL stored procedure returns duplicates - 03-22-2007 , 04:59 PM






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.


Reply With Quote
  #2  
Old   
othellomy@yahoo.com
 
Posts: n/a

Default Re: SQL stored procedure returns duplicates - 03-22-2007 , 09:34 PM






On Mar 23, 4:59 am, yin_n_yan... (AT) yahoo (DOT) com wrote:
Quote:
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.



Reply With Quote
  #3  
Old   
Hugo Kornelis
 
Posts: n/a

Default Re: SQL stored procedure returns duplicates - 03-23-2007 , 04:52 PM



On 22 Mar 2007 15:59:59 -0700, yin_n_yang74 (AT) yahoo (DOT) com wrote:

Quote:
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


Reply With Quote
  #4  
Old   
Ed Murphy
 
Posts: n/a

Default Re: SQL stored procedure returns duplicates - 03-23-2007 , 08:05 PM



yin_n_yang74 (AT) yahoo (DOT) com wrote:

Quote:
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.


Reply With Quote
  #5  
Old   
yin_n_yang74@yahoo.com
 
Posts: n/a

Default Re: SQL stored procedure returns duplicates - 04-09-2007 , 05:11 PM



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!


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.