|
Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com |
RE: Strange left join behaviour
From: Becker, Holger (holger.becker
sap.com)
Date: Tue May 17 2005 - 03:16:32 CDT
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Philippe Chaleat wrote:
> Is there a way to explain this
>
> QUERY 1 :
> select count(*)
> FROM VT_CdeLig CdeLig
> LEFT OUTER JOIN VT_Article Article
> ON CdeLig.noArt = Article.ik AND Article.noDosRes = 1
> LEFT OUTER JOIN VT_Commande Commande
> ON CdeLig.noCde = Commande.ik AND Commande.noDosRes = 1
> WHERE Commande.datDepart >= '2005-04-17' AND
> Commande.datDepart
> <= '2005-04-19' and CdeLig.noDosRes = 1
>
> Result : 209
>
> QUERY 2 (just change the order of the left join in QUERY 1)
>
> select count(*)
> FROM VT_CdeLig CdeLig
> LEFT OUTER JOIN VT_Commande Commande
> ON CdeLig.noCde = Commande.ik AND Commande.noDosRes = 1
> LEFT OUTER JOIN VT_Article Article
> ON CdeLig.noArt = Article.ik AND Article.noDosRes = 1
> WHERE Commande.datDepart >= '2005-04-17' AND
> Commande.datDepart
> <= '2005-04-19' and CdeLig.noDosRes = 1
>
> Result : 29
>
> QUERY 3 : (QUERY 1 withtout a condition in the first ON clause)
> select count(*)
> FROM VT_CdeLig CdeLig
> LEFT OUTER JOIN VT_Article Article
> ON CdeLig.noArt = Article.ik
> LEFT OUTER JOIN VT_Commande Commande
> ON CdeLig.noCde = Commande.ik AND Commande.noDosRes = 1
> WHERE Commande.datDepart >= '2005-04-17' AND
> Commande.datDepart
> <= '2005-04-19' and CdeLig.noDosRes = 1
>
> Result : 29
>
>
> Any idea ?
>
> SAPDB version: 7.4.3.32 - Build: 032-123-068-842
Hi,
I suppose that this are known bugs in older SAPDB versions.
Please upgrade to the newest MaxDB version.
BTW the outer join on VT_Commande is useless because of the
where part.
Kind regards
Holger
--
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]