@lexstile

Как сделать вложенный запрос по списку id?

Есть таблица words с полями: id, word
idword
111слово 1
222слово 2
333слово 3
444слово 4
555слово 5
666слово 6

Есть таблица test с полями: id, word_id_1, word_id_2 (word_id_* = id из первой таблицы)
idword_id_1word_id_2
1111222
2111333
3111444
4111666

Можно ли сделать за один запрос следующее:
1. Выбираем из таблицы test записи, где word_id_1 = id; (цель - получить word_id_2);
Если бы здесь возвращалась одна запись, все было бы просто, здесь будет возвращаться от 1 до ~100 записей.
2. Получаем из таблицы words записи, где id = word_id_2 (получить информацию по каждому id из предыдущего шага);
public function getDetailPage($id) {
		$params = [
			'id' => $id, // id из таблицы words
		];
		return $this->db->row('SELECT * FROM words WHERE id = :id', $params);
	}
	public function row($sql, $params = []) {
		$result = $this->query($sql, $params);
		return $result->fetchAll(PDO::FETCH_ASSOC);
	}

Известно: id из таблицы words (в примере он равен 111)
Конечная цель: получить данные по изначально известному id из таблицы words, а также получить информацию по привязанным к нему в таблице test элементам.
Все данные хранятся в первой таблице, во второй - только связи.
Если исходить из примера, должны придти данные из таблицы words по всем элементам, кроме id = 555.
  • Вопрос задан
  • 95 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
JOIN вам в помощь
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
БюроБюро Калининград
от 60 000 до 120 000 руб.
ФУДТЕХ Москва
от 110 000 до 140 000 руб.
21 июл. 2019, в 16:20
10000 руб./за проект
21 июл. 2019, в 16:04
1000 руб./за проект
21 июл. 2019, в 15:45
1500 руб./за проект