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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2014, 17:01   #1
Hellgate
Пользователь
 
Аватар для Hellgate
 
Регистрация: 29.03.2011
Сообщений: 44
Вопрос Вывод данных из двух таблиц

Есть небольшая задачка с которой обычный JOIN мне кажется не помошник

У меня есть две таблицы. К примеру такие:

1.Пользователи
ID__Email
01__01@mail
02__02@mail
03__03@mail

2.Некие отметки
UserId__Test__Result
01______AB1___1
01______AB2___1
01______AB3___1
...

Мне нужно получить одну таблицу такого вида:
ID__Email__AB1__AB2__AB 3
01__...____1____1____1
02__...____1____NULL_1
03__...____1____NULL_NULL

Получилось сделать только с одним AB1 так сделать, как сделать для всех?
Hellgate вне форума Ответить с цитированием
Старый 19.02.2014, 17:24   #2
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

если тестов не ограничено то на клиенте только
eval вне форума Ответить с цитированием
Старый 19.02.2014, 17:26   #3
Hellgate
Пользователь
 
Аватар для Hellgate
 
Регистрация: 29.03.2011
Сообщений: 44
По умолчанию

тесты в ограниченном количестве, на данный момент их около 15, в принципе не лень написать руками
Hellgate вне форума Ответить с цитированием
Старый 19.02.2014, 17:29   #4
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

ну как же вы говорите в ограниченном и тутже на данный момент ? т.е. будет и другой момент... их должно быть всегда одинаково, иначе sql тут не поможет
eval вне форума Ответить с цитированием
Старый 19.02.2014, 17:52   #5
Hellgate
Пользователь
 
Аватар для Hellgate
 
Регистрация: 29.03.2011
Сообщений: 44
По умолчанию

добавляются они очень не часто, может раз в месяц-два, с таким вялым течением мне не лень корректировать код запроса
Hellgate вне форума Ответить с цитированием
Старый 19.02.2014, 18:09   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Если по простому, то примерно так
Код:
SELECT P.ID,P.Email,M1.Result AS AB1,M2.Result AS AB2,...
  FROM [Пользователи] P
    LEFT JOIN [Некие отметки] M1 ON M1.UserId=P.ID AND M1.Test='AB1'
    LEFT JOIN [Некие отметки] M2 ON M2.UserId=P.ID AND M2.Test='AB2'
...
Можно и новомодные штучки типа перекрестных запросов, если СУБД умеет
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 19.02.2014, 18:16   #7
Hellgate
Пользователь
 
Аватар для Hellgate
 
Регистрация: 29.03.2011
Сообщений: 44
По умолчанию

Аватар, спасибо, завтра как доберусь до базы - попробую
Hellgate вне форума Ответить с цитированием
Старый 19.02.2014, 18:48   #8
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
течением мне не лень корректировать код запроса
да, все так говорят, а потом как обычно, дочка шила а мама порола и плакала
eval вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сверка данных двух таблиц AdminMars Microsoft Office Excel 9 20.08.2013 10:55
запрос adoquery вывод из двух таблиц undead92 SQL, базы данных 1 19.01.2012 12:39
вывод полей из двух таблиц 6666 БД в Delphi 2 12.05.2011 15:33
вывод полей из двух таблиц 6666 Мультимедиа в Delphi 1 11.05.2011 20:01
Сравнение двух таблиц и вывод результата в третьей lapsus Microsoft Office Excel 12 01.06.2010 16:17