Basically, I'm trying to get data from an SQL based on two different groups, t.type
has to equal single
and t.status
has to equal 1
but as for t.org
I want to it get both DUAL
and RA
, here's what I attempted to no avail.
SELECT
COUNT( p.tID )
FROM
ticket AS t
INNER JOIN
people AS p ON t.ID = p.tID
WHERE
t.type = 'single' AND t.status='1' AND t.org = 'RA' OR t.org = 'DUAL'
I'm pretty sure theirs a way to get this query working, just not in my head
AND
has higher precedence than OR
, so your existing expression is currently evaluated as:
WHERE
(t.type = 'single' AND t.status='1' AND t.org = 'RA') OR t.org = 'DUAL'
To force alternative logic, one needs to include explicit parentheses:
WHERE
t.type = 'single' AND t.status='1' AND (t.org = 'RA' OR t.org = 'DUAL')
However, in this case, one can use MySQL's IN()
operator instead of OR
:
WHERE
t.type = 'single' AND t.status='1' AND t.org IN ('RA','DUAL')
You can use the IN condition:
WHERE
t.type = 'single' AND t.status = '1' AND t.org IN ('RA','DUAL')
Or you can use brackets to group conditions:
WHERE
t.type = 'single' AND t.status = '1' AND (t.org = 'RA' OR t.org = 'DUAL')
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With