SQLinfo.ru - Все о MySQL Highload++ 2017

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 30.05.2017 21:22:41

filot
Участник
Откуда: Севастополь
Зарегистрирован: 23.08.2014
Сообщений: 13

Выполнить запрос при одинаковых значениях столбцов

Здравствуйте.
Подскажите пожалуйста, я делаю подобный запрос:

SELECT SQL_CALC_FOUND_ROWS bid.*, vid.name FROM `bid` LEFT JOIN `vid` ON `vid`.`id` IN (bid.f_vid, bid.t_vid) ORDER BY `date` DESC LIMIT 20

То есть мне из таблицы vid нужно вытащить две строки, которые соответствуют bid.f_vid и bid.t_vid.
При выводе они замещают друг друга, т.е. вывод name содержит либо первое значение, либо второе. Ну или строки дублируются.
Как мне сделать один вывод и "расфасовать" эти значения? Например name_1 = bid.f_vid, name_2 = bid.t_vid

Неактивен

 

#2 30.05.2017 21:33:30

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5269

Re: Выполнить запрос при одинаковых значениях столбцов

не ясно
сделайте пример create table.. insert into .. с несколькими строчками тестовых данных и покажите какой результат вы хотите получить.

Неактивен

 

#3 30.05.2017 22:03:05

filot
Участник
Откуда: Севастополь
Зарегистрирован: 23.08.2014
Сообщений: 13

Re: Выполнить запрос при одинаковых значениях столбцов

Таблица bid:
id  | code | f_vid  | t_vid | date
1   | 2432 | 1      | 2      | 17.05.2017
2   | code | 3      | 1      | 12.05.2017
3   | code | 4      | 2      | 11.05.2017

Таблица vid:
id | name
1  | ТНТ
2  | Sony
3  | Microsoft
4  | Xiaomi

Мне нужно запросить строки из таблицы bid, при это сразу получить f_vid и t_vid по ID в таблице vid.
То есть такое должно быть на выходе:
id: 1 | code: 2432 | f_vid: 1  | t_vid: 2  | date: 17.05.2017 | name_f: ТНТ | name_t: Sony

Неактивен

 

#4 30.05.2017 22:17:07

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5269

Re: Выполнить запрос при одинаковых значениях столбцов

2 раза left join

select bid.*, v1.name `name_f`, v2.name `name_t` from bid left join vid v1 on f_vid=v1.id left join vid v2 on t_vid=v2.id;

Неактивен

 

#5 30.05.2017 22:19:26

filot
Участник
Откуда: Севастополь
Зарегистрирован: 23.08.2014
Сообщений: 13

Re: Выполнить запрос при одинаковых значениях столбцов

Большое вам спасибо! <3

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson