Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
SQL Stored Procedure
Message
 
 
À
26/07/2010 14:08:27
Andy Roth
Neyenesch Printers
Californie, États-Unis
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Divers
Thread ID:
01473624
Message ID:
01473956
Vues:
34
Your WHERE conditions contradict LEFT JOIN to arjobtax and bbjthead. You either don't need LEFT JOIN or WHERE conditions should be moved into LEFT JOIN for corresponding table.

>I tried your suggestion.
>Problem I ma having is the SP works fine in SQL 2000 but now is not in 2005
>
>Here's what I am running in SQL 2005 as parameters
>GO
>
>DECLARE @return_value int
>
>EXEC @return_value = [dbo].[get_invoices]
> @ldStartDate = '06/01/2010',
> @ldEndDate = '06/30/2010'
>
>SELECT 'Return Value' = @return_value
>
>GO
>
>Here is what is being returned?
>
>Msg 0, Level 11, State 0, Line 0
>A severe error occurred on the current command. The results, if any, should be discarded.
>Msg 0, Level 20, State 0, Line 0
>A severe error occurred on the current command. The results, if any, should be discarded.
>
>
>I had thisin the foxpro program but it did not run
>If I take out the OR in the Where and remove one of the conditions it works
>If I remove the other condition is works.
>If I have them both in the foxpro program it does not
>So I decided to make and SQL SP.
>It works fin in SQL 2000 but in 2005 it does not.
>
>I'm stumped
>
>
>This is the complete SP
>
>Alter   PROCEDURE get_invoices 
>/*Create  PROCEDURE get_invoices*/
>	@ldStartDate DateTime,
>	@ldEndDate DateTime
>AS
>
>SELECT arjobhd.custno,
>       arjobhd.customer, 
>       ISNULL(ssslsman.salespn,'') as salespn,  
>       arjobhd.transtype,       
>       arjobtax.taxcode,            
>       IsNull(arjobhd.invno,0) as invno,  
>       arjob.ljob,  
>       bbjthead.id,  
>       ISNULL(SUM(arjob.price),0) as invoice,  
>       ISNULL(SUM(arjob.frtamt),0) as freight,  
>       CAST(00.00 AS decimal(10,2)) as tax,  
>       CAST(00.00 AS decimal(10,2)) as cost_lab,  
>       CAST(00.00 AS decimal(10,2)) as cost_mat,  
>       CAST(00.00 AS decimal(10,2)) as cost_fin,  
>       CAST(00.00 AS decimal(10,2)) as cost_pur,  
>       CAST(00.00 AS decimal(10,2)) as Totcost,  
>       CAST(00.00 AS decimal(10,2)) as TotInv,  
>       CAST(00.00 AS decimal(10,2)) as profper  
>       FROM arjobhd  
>       LEFT JOIN arjob on arjobhd.invno=arjob.invno  
>       LEFT JOIN arjobtax on arjobhd.invno=arjobtax.invno  
>       LEFT JOIN bbjthead on bbjthead.ljob=arjob.ljob  
>       LEFT JOIN ssslsman on arjobhd.salespnno=ssslsman.salespnno  
>       WHERE  
>       (  bbjthead.closedate  between @ldstartdate and @ldenddate 
>          AND arjobhd.invdate IS NOT NULL 
>          AND bbjthead.closedate >= arjobhd.invdate ) 
>       OR 
>       (  arjobhd.invdate between @ldstartdate and @ldenddate 
>          AND bbjthead.closedate IS NOT NULL 
>          AND invdate >= bbjthead.closedate ) 
>       Group by arjobhd.custno,  
>                arjobhd.customer, 
>                ssslsman.salespn,              
>                arjobhd.transtype,   
>                arjobtax.taxcode,          
>                arjobhd.invno, 
>                arjob.ljob, 
>                bbjthead.id 
>      ORDER by arjob.ljob, arjobhd.invno
>
>
--sb--
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform