Я не совсем знал, как сформулировать свою проблему, поэтому я прошу прощения за странный заголовок.В настоящее время у меня есть две таблицы MySQL, бизнес и пользователи, которые выглядят соответственно следующим образом:
+-------------+----------+
| business_id | owner_id |
| 1 | 1 |
| 2 | 3 |
+-------------+----------+
+---------+-------------+----------------+
| user_id | business_id | email |
| 1 | 1 | a@domain.com |
| 2 | 1 | b@domain.com |
| 3 | 2 | c@domain.com |
+---------+-------------+----------------+
Сейчас мне нужно получить электронное письмо от пользователя, где поле business_id
в таблице user
совпадает с owner_id
в таблице business
, и у меня всегда будет user_id (но он не обязательно будет владельцем).Чтобы продемонстрировать, что я имею в виду, я могу добиться того, чего хочу, через этот беспорядок кода:
SELECT
`email`
FROM
`user`
WHERE
`user_id` =(
SELECT
`owner_id`
FROM
`business`
WHERE
`business_id` =(
SELECT
`business_id`
FROM
`user`
WHERE
`user_id` = :user_id
)
)
Так что, если бы я передал значение 1 или 2 для параметра user_id
, он быreturn a@domain.com
и если бы я передал значение 3, это вернуло бы c@domain.com
.
Я просто чувствую, что думал, что есть лучший способ!