I am trying to create a SQL query that will select everything shown...but I have a condition where the total hours !=0. This works but I must add one more condition that would exclude the condition of total hours !=0.
I basically need the query to look like: AND project_timecard_task_days.total_hours != 0 UNLESS task.type ="Fixed Rate"
So, the "unless" part of the statement is the issue. Any help will be much appreciated!
SELECT project_timecard_tasks.task_id,
project_timecard_tasks.datetime,
project_timecard_tasks.total_hours,
project_timecard_tasks.user_id,
project_timecard_tasks.project_id,
users.user_id,
users.firstname,
users.lastname,
users.billingrate,
tasks.id,
tasks.taskname,
tasks.billingoption,
tasks.fixedrate,
tasks.rate_schedule_id,
hourlyrates.rate_schedule_id,
hourlyrates.hourlyrate,
project_timecard_tasks.project_task_id,
project_timecard_task_days.project_task_id,
project_timecard_task_days.project_task_day_id,
project_timecard_task_days.total_hours,
project_timecard_task_days.comments,
project_timecard_task_days.invoiced
FROM project_timecard_tasks
JOIN users
ON project_timecard_tasks.user_id = users.user_id
JOIN tasks
ON project_timecard_tasks.task_id = tasks.id
JOIN project_timecard_task_days
ON project_timecard_tasks.project_task_id =
project_timecard_task_days.project_task_id
JOIN hourlyrates
ON project_timecard_tasks.billing_code_id = hourlyrates.hourly_rate_id
WHERE project_timecard_tasks.project_id = '$jobNumber'
AND project_timecard_task_days.total_hours != 0
AND project_timecard_task_days.invoiced != 1
...AND (project_timecard_task_days.total_hours != 0 OR task.type ="Fixed Rate")...
Just use OR
:
WHERE
(
project_timecard_tasks.project_id = '$jobNumber'
AND
project_timecard_task_days.total_hours != 0
AND
project_timecard_task_days.invoiced != 1
)
OR
task.type ="Fixed Rate"
or perhaps (depending on how you want your conditions):
WHERE
project_timecard_tasks.project_id = '$jobNumber'
AND
project_timecard_task_days.invoiced != 1
AND
(
project_timecard_task_days.total_hours != 0
OR
task.type ="Fixed Rate"
)
Use an OR
statement.
...
AND (project_timecard_task_days.total_hours != 0 OR task.type = "Fixed Rate")
AND...