Reputation: 1510
I have two query and I want to combine them into one query and distinct the name
of the styles
. Basically I just want to get the styles of the teacher
where he belong on schools
, and the styles
of the organization
where the school
belong.
This is my query each so far.
STYLES Table
Query 1
SELECT *
FROM styles s
WHERE s.organization_id = (
SELECT t.school_id
FROM teachers t
WHERE t.user_id = 4
)
Query 2
SELECT *
FROM styles s, teachers t
WHERE t.school_id = s.school_id
AND t.user_id = 4
Upvotes: 1
Views: 317
Reputation: 23381
You are just lacking proper joins with your queries. Don't user old join styles, use INNER JOIN
For what I could see you have joined your styles
table with teachers
table by different columns. One way to do it would be a simple UNION like this:
SELECT *
FROM styles s
INNER JOIN teachers t
ON s.organization_id = t.school_id
WHERE t.user_id = 4
UNION
SELECT *
FROM styles s
INNER JOIN teachers t
ON t.school_id = s.school_id
WHERE t.user_id = 4
**NOTE: ** Do not use select *
use all named columns.
Upvotes: 1