apelsin2017
@apelsin2017
Начинающий web-программист

Как составить sql запрос?

Здравствуйте, в общем, есть проблемка, нужно объединить две таблицы в sql запросе.
1) Есть таблица с юзерами, основное поле - id
2) Есть другая таблица, в которой содержится user_id
5d90c7c8a70f9054093223.png
Нужно сделать так, что бы всё выходило в одной таблице (см. изображение), а вот как правильно составить SQL запрос, так и не понял. Может у Вас будут варианты?
  • Вопрос задан
  • 81 просмотр
Решения вопроса 2
glaphire
@glaphire
PHP developer
SELECT t1.first_name, t1.last_name, t2.value FROM table1 AS t1 JOIN table2 AS t2 ON t1.id=t2.user_id ORDER BY t1.id ASC
Ответ написан
l3ftoverz
@l3ftoverz
Люблю Финский металкор
В обычном SELECT можно выбирать из нескольких таблиц.

Schema
CREATE TABLE `users` (
	`id` INT(11) NOT NULL AUTO_INCREMENT,
	`first_name` VARCHAR(50) NOT NULL COLLATE 'utf8_unicode_ci',
	`last_name` VARCHAR(50) NOT NULL COLLATE 'utf8_unicode_ci',
	PRIMARY KEY (`id`)
)
COLLATE='utf8_unicode_ci'
ENGINE=InnoDB;

CREATE TABLE `user_values` (
	`id` INT(11) NOT NULL AUTO_INCREMENT,
	`user_id` INT(11) NOT NULL,
	`value` VARCHAR(255) NOT NULL COLLATE 'utf8_unicode_ci',
	PRIMARY KEY (`id`)
)
COLLATE='utf8_unicode_ci'
ENGINE=InnoDB;

INSERT INTO `users` VALUES
    (null, 'One', 'One'),
    (null, 'Two', 'Two'),
    (null, 'Three', 'Three');
    
INSERT INTO `user_values` VALUES
    (null, 1, 'Test 1'),
    (null, 2, 'Test 2'),
    (null, 3, 'Test 3');


Запрос:
SELECT users.*, user_values.value FROM users, user_values WHERE users.id = user_values.user_id


Результат:
5d90d02a725ba858871602.png
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
СКМ Москва
До 75 000 руб.
SaveTime Москва
от 160 000 руб.
OFD.ru Москва
от 140 000 до 170 000 руб.
15 нояб. 2019, в 10:19
2000 руб./за проект
15 нояб. 2019, в 10:17
300 руб./за проект
15 нояб. 2019, в 09:30
250000 руб./за проект