Re: discussion forum from j. meloni's book
| From: | Curt Zirzow | Date: | Wed, 13 Aug 2003 04:53:35 +0000 |
| Subject: | Re: discussion forum from j. meloni's book | ||
| References: | 1 2 3 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-159392@lists.php.net to get a copy of this message | ||
* Thus wrote Anthony Ritter (tony@gonefishingguideservice.com):
> Jennifer Goodie" <goodie@apollointeractive.com> writes:
>
> > You didn't switch the aliases around, you just switched the join order.
> > This will provide unexpected results. In order to understand it, you
> should
> > read up on left joins.
> > http://www.mysql.com/doc/en/JOIN.html
> ............................
> Thank you. But...
>
> // the query
>
> $verify = "select ft.topic_id, ft.topic_title from forum_posts as fp left
> join forum_topics as ft on fp.topic_id = ft.topic_id where fp.post_id =
> $_GET[post_id]";
> ...........................
>
> My question: why - or how can - the columns ft.topic_id and ft.topic_title
> come from the table forum_posts?
The dont. ft is aliased to forum_topic it has nothing to do with
form_posts.
>
>
> When I change the following to read:
>
> $verify = "select ft.topic_id, ft.topic_title from forum_topics as ft left
> join forum_posts as fp on fp.topic_id = ft.topic_id where fp.post_id =
> $_GET[post_id]";
>
> It works fine.
>
> /*Roughly translated: Select the column ft.topic_id along with the column
> ft.topic_title from the table called forum_topics which we'll call ft. Then
> join the table called forum_topics onto the table called forum_posts and
> match the records where topic_id corresponds in both tables along with
> post_id corresponds in both tables.*/
There are a lot of thing wrong with your summary. What you are
doing is selecting *all* rows from ft. include any rows from fp that
have the same topic_id where fp has a post_id of the $_GET
variable.
This query makes absolutly no sense, in real world application.
btw, this topic is completely off-topic, you might be able to get
better assistance with this query on the mysql list.
Curt
--
"I used to think I was indecisive, but now I'm not so sure."