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:
id username dealerid registration_timestamp
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".
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.