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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2009, 15:46   #11
span4
Пользователь
 
Регистрация: 04.04.2009
Сообщений: 33
По умолчанию

да и результат неверный... есть повторы игр...
span4 вне форума Ответить с цитированием
Старый 04.04.2009, 15:48   #12
wyvern
Форумчанин
 
Аватар для wyvern
 
Регистрация: 24.03.2009
Сообщений: 215
По умолчанию

а да, ты прав...
моя бедная сонная голова)
а я одной таблицей и пользовался...
wyvern@localhost:~$ sudo emerge --unmerge world
wyvern вне форума Ответить с цитированием
Старый 04.04.2009, 15:51   #13
wyvern
Форумчанин
 
Аватар для wyvern
 
Регистрация: 24.03.2009
Сообщений: 215
По умолчанию

тогда так.

Код:
select
    t1.name,
    t2.name
from
    player t1,
    (select id, name from player) t2
where
    t2.id < t1.id;
wyvern@localhost:~$ sudo emerge --unmerge world
wyvern вне форума Ответить с цитированием
Старый 04.04.2009, 16:05   #14
span4
Пользователь
 
Регистрация: 04.04.2009
Сообщений: 33
По умолчанию

select
t1.name,
t2.name

выбираем 2-х игроков из таблицы player

from
player t1,
(select id, name from player) t2
where
t2.id < t1.id;


а тут что делаем?
span4 вне форума Ответить с цитированием
Старый 04.04.2009, 16:57   #15
wyvern
Форумчанин
 
Аватар для wyvern
 
Регистрация: 24.03.2009
Сообщений: 215
По умолчанию

t1 - табличка player
t2 - результат запроса select id, name from player (по сути новая табличка)

из каждой из этих табличек вытягиваем имя
после слова where указываем правило, по которому будем забирать пары имен игроков. правило здесь одно - t2.id < t1.id
то есть выбираем только такие пары, у которых айдюха, соответствующая имени в табличке t1 больше айдюхи, соответствующей имени в результате запроса t2
wyvern@localhost:~$ sudo emerge --unmerge world
wyvern вне форума Ответить с цитированием
Старый 04.04.2009, 22:19   #16
span4
Пользователь
 
Регистрация: 04.04.2009
Сообщений: 33
По умолчанию

спасибо
span4 вне форума Ответить с цитированием
Старый 05.04.2009, 00:19   #17
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

wyvern, кстати, Ваш запрос будет работать не в любой СУБД (только в той, что поддерживает вложенные запросы). А можно написать проще и работать будет на большем количестве движков СУБД.
вот так:
Код:
select
    t1.name,
    t2.name
from
    player t1,
    player t2
where
    t2.id < t1.id;
p.s. по сути Ваш запрос не меняется, просто избавляемся от вложенности... ;-)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.04.2009, 11:43   #18
span4
Пользователь
 
Регистрация: 04.04.2009
Сообщений: 33
По умолчанию

спасибо )) избовляясь от вложенности, мы избовляемся от возможных лишних проблем )
span4 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вопросам знатокам и просто любителям, нужно составить не сложный sql запрос modz SQL, базы данных 3 14.08.2013 11:20
Как составить запрос из каталога? wegeras PHP 1 28.10.2008 13:36
нужно составить запрос с датой и временем! student90 БД в Delphi 5 26.09.2008 05:43
Как правельно составить запрос!! Areostar SQL, базы данных 3 16.02.2008 19:49
составить запрос к таблицам T1 и T2 MonteCarlos SQL, базы данных 13 03.02.2008 14:05