Welcome to WebmasterWorld Guest from 54.205.115.177

Forum Moderators: open

Message Too Old, No Replies

Nested query and update

   
2:42 am on Mar 8, 2010 (gmt 0)

5+ Year Member



Dear all,

This is my first post and hoping somebody could really help me on this.

I have a database with users and dealers table which contains certain columns as below:

Users

id
username
dealerid
registration_timestamp

Dealers

id
username
registration_timestamp
dealertype
dealerstatus
dealerachievement

I am setting a php cronjob. The system is to check (every hour) for all dealer with dealer type "dealer" and where user with it's id and user registration date between dealer registration date and 4 months later.

Below is just my draft for the MySQL query which does not work. Could somebody help me to write it?

SELECT * FROM dealers 
WHERE dealertype=dealer
AND dealershipstatus=first4months
AND
(SELECT COUNT(id) FROM users WHERE dealerid=<currentloopuserid> AND registration_timestamp BEtWEEN
(SELECT registration_timestamp FROM dealers WHERE dealerid=<currentloopdealerid>)
AND (SELECT registration_timestamp FROM dealers WHERE dealerid=<currentloopdealerid>) + 10368000) > 3000

If the found, update the dealerachievement value with "achieved".


Could somebody help me on this? Thanks.
10:02 pm on Mar 16, 2010 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Can you be a bit more specific how it is not working?
Are you getting a syntax error, or is in not returning the expected results.

If it is a syntax error, the bold items below either need to be quoted, or need to be defined as parameters.

WHERE dealertype=dealer
AND dealershipstatus=first4months

If the syntax is correct, but you aren't getting the expected results, try removing one of the where conditions, and see if the remaining conditions work as expected. Once you narrow down which part of the where clause isn't behaving as expected it makes it easier to diagnose.
3:03 pm on Mar 18, 2010 (gmt 0)

10+ Year Member



(SELECT COUNT(id) FROM users WHERE dealerid=<currentloopuserid> AND


The above code doesn't do anything in the WHERE clause