@dk-web

Можно ли объединить такие запросы MySQL?

Есть два запроса...
$query="SELECT * from `cities` as a INNER JOIN `mp-content` as b ON a.id=b.city";

и
$query="SELECT * from `grafik` WHERE `city` = $city";

В таблице график находится условный перечень событий для каждого из городов.
Соответственно мне хотелось бы попробовать объединить эти запросы и получить что-то вроде..
[2] => Array
(
[id] => 2
[city] => 2
... это 1 запрос и далее:
[grafik]=>Array (
и далее несколько массивов с событиями..
)
Объединение обычно идет через UNION, но кмк не в этом случаеy..
Если можно, то как и есть ли в этом большой смысл?

UPD.. в общем лабуда какая-то получилась...
$query="SELECT * from `cities` as a INNER JOIN `mp-content` as b ON a.id=b.city";
$data=$obj->db_query($query);

foreach ($data as $key => $city) {
	$query="SELECT * FROM `grafik` WHERE `city`=$key";
	$city['grafik']=$obj->db_query_all($query);
	$query="SELECT * FROM `doctors` WHERE `city`=$key OR `city`=3";
	$city['doctors']=$obj->db_query_all($query);

	$data[$key]=$city;
}

$obj->data_print($data);

Уверен, что есть более гуманное решение
  • Вопрос задан
  • 155 просмотров
Пригласить эксперта
Ответы на вопрос 1
talgatbaltasov
@talgatbaltasov
Freelancer
SELECT *, (SELECT * from `grafik` WHERE `city` = $city) as grafik from `cities` as a INNER JOIN `mp-content` as b ON a.id=b.city
вот так работает?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы