Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.06.2012, 14:43   #1
Pamparam
Форумчанин
 
Регистрация: 08.11.2009
Сообщений: 225
Вопрос разные значения поля в одном запросе

invite
id fromuser touser
1 1 3
2 2 5
3 1 4
4 8 1

users
id name
1 ГРИША
...

Как в одном запросе достать все строки из invite с name по id из таблицы users. Т.е. чтобы достало name для fromuser и name для touser в одном запросе.
Pamparam вне форума Ответить с цитированием
Старый 30.06.2012, 17:09   #2
Pamparam
Форумчанин
 
Регистрация: 08.11.2009
Сообщений: 225
По умолчанию

Цитата:
SELECT * FROM
(SELECT * FROM invite,users where (invite.touser=1) and users.id=invite.fromuser) U,
(SELECT * FROM invite,users where (invite.fromuser=1) and users.id=invite.touser) U2
Если строк в подзапросах по 6 (всего 12), то получаю 36 (6*6) как получить 12 уникальных строк? =\
Pamparam вне форума Ответить с цитированием
Старый 30.06.2012, 18:08   #3
Pamparam
Форумчанин
 
Регистрация: 08.11.2009
Сообщений: 225
По умолчанию

нашел
Цитата:
(SELECT * FROM invite,users where (invite.touser=1) and users.id=invite.fromuser) UNION
(SELECT * FROM invite,users where (invite.fromuser=1) and users.id=invite.touser)
Очень странно, что никто не знает
Pamparam вне форума Ответить с цитированием
Старый 30.06.2012, 19:26   #4
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2Pamparam
Код:
SELECT invite.id, FU.name, TU.name
FROM invite
INNER JOIN users AS FU ON FU.id = invite.fromuser
INNER JOIN users AS TU ON TU.id = invite.touser
если я правильно понял, что тебе нужно
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 30.06.2012, 19:32   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Очень странно, что никто не знает
Не удивительно - задача поставленна вкрай некорректно.
Хотя бы это:
Цитата:
как получить 12 уникальных строк?
Т.е. все возможные комбинации без повторов?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.06.2012, 19:43   #6
Pamparam
Форумчанин
 
Регистрация: 08.11.2009
Сообщений: 225
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Не удивительно - задача поставленна вкрай некорректно.
Хотя бы это:
Т.е. все возможные комбинации без повторов?
привел же пример запроса и сказал, что в подзапросах находит по 6 строк, т.е. всего в сумме мне нужно 12, а выводит 6*6 (т.е. каждая для каждой). Хз как было бы доходчивее объяснить.
Цитата:
Сообщение от pproger
SELECT invite.id, FU.name, TU.name
FROM invite
INNER JOIN users AS FU ON FU.id = invite.fromuser
INNER JOIN users AS TU ON TU.id = invite.touser
да, спасибо. Этот будет правильнее варианта с UNION
Pamparam вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разные значения в объединенных ячейках agregator Microsoft Office Excel 7 13.04.2012 14:31
разные цвета ссылок на одном сайте Pein95 HTML и CSS 6 13.07.2011 22:36
Использование в одном запросе несколько БД Сергей089 SQL, базы данных 1 02.08.2010 11:33
как получить значение поля грид на основе значения другого lookUp поля malayka БД в Delphi 0 21.04.2010 19:06
fontdialog на разные поля Михаил Юрьевич Общие вопросы Delphi 2 21.10.2009 14:32