PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Autres forums > Forum Programmation & Conception > comp.lang.php > Re: Two selectss -- Are they the same?
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
Re: Two selectss -- Are they the same?

Réponse
 
LinkBack Outils de la discussion
Vieux 11/11/2007, 03h38   #1
Shelly
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Two selectss -- Are they the same?

Shelly wrote:
> 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.


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


  Réponse avec citation
Vieux 11/11/2007, 03h50   #2
ZeldorBlat
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Two selectss -- Are they the same?

On Nov 10, 10:38 pm, "Shelly" <sheldonlg.n...@asap-consult.com> wrote:
> Shelly wrote:
> > 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.

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


You don't need sub-selects to do this one, either.

select m.ID,
a1.ArtistName as Artist1,
m.MnArtist1Desc,
a2.ArtistName as Artist2,
m.MnArtist2Desc,
from tblMain m
join mARTISTS a1
on m.MnArtist1 = a1.ArtistID
join mARTISTS a2
on m.MnArtist2 = a2.ArtistID
where m.MnEvent = '22'
order by m.MnOrder

  Réponse avec citation
Vieux 11/11/2007, 03h55   #3
Shelly
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Two selectss -- Are they the same?

ZeldorBlat wrote:
> On Nov 10, 10:38 pm, "Shelly" <sheldonlg.n...@asap-consult.com> wrote:
>> Shelly wrote:
>>> 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.

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

>
> You don't need sub-selects to do this one, either.
>
> select m.ID,
> a1.ArtistName as Artist1,
> m.MnArtist1Desc,
> a2.ArtistName as Artist2,
> m.MnArtist2Desc,
> from tblMain m
> join mARTISTS a1
> on m.MnArtist1 = a1.ArtistID
> join mARTISTS a2
> on m.MnArtist2 = a2.ArtistID
> where m.MnEvent = '22'
> order by m.MnOrder


Of course. Thanks. Its been a long day, I'm very tired and so as I slap my
head with "I shudda known that", I'll go to bed.

--
Shelly


  Réponse avec citation
Vieux 11/11/2007, 14h00   #4
Jerry Stuckle
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Two selectss -- Are they the same?

Shelly wrote:
> Shelly wrote:
>> 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.

>
> 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,

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.
jstucklex@attglobal.net
==================

  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 23h00.


Édité par : vBulletin® version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières ©2000-2008
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,75613 seconds with 12 queries