Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Объединение двух строк из БД в одну 
V
    Опции темы
Trishi
  Дата 31.3.2008, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 5.5.2007

Репутация: нет
Всего: нет



Допустим, есть в базе данных Access такая таблица:

Предмет       |    Семестр   |   Оценка
математика  |        1          |       10
математика  |        2          |        12
физика         |        2           |        10


И из нее нужно сделать такое: 
Предмет       |    Оценка за Семестр1    |  Оценка за Семестр2 
математика  |                  10                    |                 12
физика         |                                          |                 10

Помогите разобраться, как объединить две строки в одну?


PM MAIL   Вверх
Magnifico
Дата 1.4.2008, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 23.1.2008
Где: Московская област ь

Репутация: 2
Всего: 17



Код

SELECT Предмет,"Оценка за семестр " &  Семестр  as [Оценка за семестр ],   Оценка 
FROM Result;



--------------------
Всё  в  порядке   -   спасибо  зарядке  !
PM MAIL   Вверх
Magnifico
Дата 1.4.2008, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 23.1.2008
Где: Московская област ь

Репутация: 2
Всего: 17




Код

select distinct Предмет , 
(select top 1 Оценка from Result t1 where t1.Предмет =t2.Предмет and t1.Семестр =1) as
[Оценка за семестр1],
(select top 1 Оценка from Result t1 where t1.Предмет =t2.Предмет and t1.Семестр =2) as
[Оценка за семестр2]

FROM Result t2;



--------------------
Всё  в  порядке   -   спасибо  зарядке  !
PM MAIL   Вверх
Trishi
Дата 1.4.2008, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 5.5.2007

Репутация: нет
Всего: нет



Magnifico, немного не понятно: t1 - это моя исходная таблица, а t2?
PM MAIL   Вверх
Trishi
Дата 2.4.2008, 00:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 5.5.2007

Репутация: нет
Всего: нет



Спасибо, вопрос решен!
PM MAIL   Вверх
Magnifico
Дата 2.4.2008, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 23.1.2008
Где: Московская област ь

Репутация: 2
Всего: 17



таблица одна  а алиаса два
Это коррелирующий запрос
для каждой строки основного запроса выполняется подзапрос 
(select top 1 Оценка from Result t1 where t1.Предмет =t2.Предмет and t1.Семестр =1)

основной выбирает Предмет =Математика и подставляет в подзапрос

(select top 1 Оценка from Result t1 where t1.Предмет =  Математика  and t1.Семестр =1)


--------------------
Всё  в  порядке   -   спасибо  зарядке  !
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0422 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.