Jun
Jun

Reputation: 138

Get IDs using Array SQL

I don't know how to create a Formula for It, but i have a table user. Schedule_ID (which are all array values). i want to get all IDs in schedule table that match the value in Schedule_ID.

it's like Where Schedule_ID(Any Value in Array(1,2,3)) = schedule.ID;

for now this is what i've got:

$sql="SELECT schedule.*,user.* FROM user
LEFT JOIN schedule ON user.Schedule_ID = schedule.ID
WHERE user.Schedule_ID = schedule.ID";

Upvotes: 0

Views: 1791

Answers (2)

Nick
Nick

Reputation: 147146

If I understand your question correctly, I think this query will do what you want:

SELECT schedule.*, user.* FROM user
LEFT JOIN schedule ON FIND_IN_SET(schedule.ID, user.Schedule_ID)

Note this query assumes the Schedule_ID field in user is of the form '1,2,3' or '6,8' etc.

Upvotes: 1

theterminalguy
theterminalguy

Reputation: 1941

The SQL IN operator can help you out here, you may need to modify my answer depending on your setup but this should help you solve the problem or give you an idea.

SELECT schedule.ID
FROM schedule
LEFT JOIN schedule 
ON user.Schedule_ID = schedule.ID
WHERE schedule.ID IN (user.Schedule_ID)

Upvotes: 0

Related Questions