Discussion:
Two selectss -- Are they the same?
(too old to reply)
Shelly
2007-11-11 01:47:08 UTC
Permalink
Here is a post that I put into comp.lang.php before finding this newsgroup.
Sorry for the double posting.

I came across this code:

SELECT AnnoID, AnnoTitle,
(SELECT EventTitle FROM mEVENTS WHERE tblANNOUNCE.AnnoLink =
mEVENTS.EventID)
as AnnoLink,
date_format(AnnoDate,'%M %D %Y') as date
FROM tblANNOUNCE
ORDER BY AnnoDate DESC, AnnoLink, AnnoTitle

I am having trouble reading this. Is this the same as:

SELECT a.AnnoID, AnnoTitle, e.EventTitle as AnnoLink,
date_format(AnnoDate,'%M %D %Y') as date
FROM tblANNOUNCE AS a, mEVENTS AS e
WHERE a.AnnoLink = e,EventID
ORDER BY date DESC, AnnoLink, AnnoTitle


In other words, do they do exactly the same thing? I can't get the former
to run on the current version of MySQL. Apparantly (I was told) it ran on a
later version of MySQL.
--
Shelly
Shelly
2007-11-11 03:38:06 UTC
Permalink
Post by Shelly
Here is a post that I put into comp.lang.php before finding this
newsgroup. Sorry for the double posting.
SELECT AnnoID, AnnoTitle,
(SELECT EventTitle FROM mEVENTS WHERE tblANNOUNCE.AnnoLink =
mEVENTS.EventID)
as AnnoLink,
date_format(AnnoDate,'%M %D %Y') as date
FROM tblANNOUNCE
ORDER BY AnnoDate DESC, AnnoLink, AnnoTitle
SELECT a.AnnoID, AnnoTitle, e.EventTitle as AnnoLink,
date_format(AnnoDate,'%M %D %Y') as date
FROM tblANNOUNCE AS a, mEVENTS AS e
WHERE a.AnnoLink = e,EventID
ORDER BY date DESC, AnnoLink, AnnoTitle
In other words, do they do exactly the same thing? I can't get the
former to run on the current version of MySQL. Apparantly (I was
told) it ran on a later version of MySQL.
What the original coder was do was subselects. This is supported on MySQL
4.1 and above. The version on the server that it is being moved to is
4.0.27, so that is why it didn't work. For the one I posted, there was a
simple way of recoding it. As I progressed futher into it, there were more
complex cases that required a subselect. Otherwise, it required multiple,
separate queries. For example:

select
ID,
(select ArtistName from mARTISTS where tblMain.MnArtist1 =
mARTISTS.ArtistID) as Artist1,
MnArtist1Desc,
(select ArtistName from mARTISTS where tblMain.MnArtist2 =
mARTISTS.ArtistID) as Artist2,
MnArtist2Desc
from tblMain
where MnEvent = '22'
ORDER BY MnOrder
--
Shelly
Jerry Stuckle
2007-11-11 14:00:32 UTC
Permalink
Post by Shelly
Post by Shelly
Here is a post that I put into comp.lang.php before finding this
newsgroup. Sorry for the double posting.
SELECT AnnoID, AnnoTitle,
(SELECT EventTitle FROM mEVENTS WHERE tblANNOUNCE.AnnoLink =
mEVENTS.EventID)
as AnnoLink,
date_format(AnnoDate,'%M %D %Y') as date
FROM tblANNOUNCE
ORDER BY AnnoDate DESC, AnnoLink, AnnoTitle
SELECT a.AnnoID, AnnoTitle, e.EventTitle as AnnoLink,
date_format(AnnoDate,'%M %D %Y') as date
FROM tblANNOUNCE AS a, mEVENTS AS e
WHERE a.AnnoLink = e,EventID
ORDER BY date DESC, AnnoLink, AnnoTitle
In other words, do they do exactly the same thing? I can't get the
former to run on the current version of MySQL. Apparantly (I was
told) it ran on a later version of MySQL.
What the original coder was do was subselects. This is supported on MySQL
4.1 and above. The version on the server that it is being moved to is
4.0.27, so that is why it didn't work. For the one I posted, there was a
simple way of recoding it. As I progressed futher into it, there were more
complex cases that required a subselect. Otherwise, it required multiple,
select
ID,
(select ArtistName from mARTISTS where tblMain.MnArtist1 =
mARTISTS.ArtistID) as Artist1,
MnArtist1Desc,
(select ArtistName from mARTISTS where tblMain.MnArtist2 =
mARTISTS.ArtistID) as Artist2,
MnArtist2Desc
from tblMain
where MnEvent = '22'
ORDER BY MnOrder
Shelly,

Please start asking these questions in comp.databases.mysql. That's
where they belong.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
***@attglobal.net
==================
Loading...