Re: Two tables (Slightly 0T)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Ryan A <ryan@xxxxxxxxxxxx>:
> My host has MySql 4.0.x so I cant really use the nested selects of 4.1 :-(
> please tell me how you solved something like this;
>
> I have two tables:
> users_online (username , dateandtime)
> users_details (cno, username, has_image, image_name)
>
> 1a) I have to select x records from users_online where $username is not more
> than 3 minutes old,
> 1b) then I have to check if that username has_image,if yes, get the
> imagename
>
> I thought of having the imagename also in the users_details, but we are
> allowing our members to
> change/modify their images at will....
>
> What kind of sql do I use above? I dont want to run a query on every record
> returned from users_online
> as that would be really "expensive".

You're right, this is OT, but I'll answer anyways.

You need to start brushing up on ANSI SQL, as this requires only a JOIN
and a LIMIT:

SELECT 
    users_details.username,
    image_name
FROM
    users_details
INNER JOIN
    users_online ON users_online.username = users_details.username
WHERE
    users_online.dateandtime < ? AND
    has_image = 'yes'
LIMIT x

(where '?' is a date or timestamp 3 minutes in the past, and 'x' is the
number of records you wish to select).

-- 
Matthew Weier O'Phinney           | WEBSITES:
Webmaster and IT Specialist       | http://www.garden.org
National Gardening Association    | http://www.kidsgardening.com
802-863-5251 x156                 | http://nationalgardenmonth.org
mailto:matthew@xxxxxxxxxx         | http://vermontbotanical.org

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux