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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> перекрестный запрос 
:(
    Опции темы
Lapochka
  Дата 23.9.2008, 08:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



yerdnA , тебе удалось решить?

у меня подобный вопрос. нужно в MSSQL 2000 и 2005 (есть 2 версии. работаю на 2000, но могу так же пользоваться 2005).

Есть след таблица:
------------------------------------------------------------
  id_contact    |      id_strah      |          vid
------------------------------------------------------------
         1           |         1              |             1
------------------------------------------------------------
         1           |         2              |             3
------------------------------------------------------------
         2           |         3              |             2
------------------------------------------------------------
         3           |         4              |             4
------------------------------------------------------------
         3           |         5              |             1
------------------------------------------------------------
         1           |         6              |             2
------------------------------------------------------------
         4           |         7              |             2
------------------------------------------------------------
         6           |         8              |             3
------------------------------------------------------------

Небольшое описание: 
id_strah - ключевое поле
id_contact - 1 контакту соответствует несколько id_strah
vid - может принимать значения от 1 до 4

Нужно сделать:
------------------------------------------------------
                vid  |    1    |    2    |    3    |    4    
         -----------------------------------------------
 id_contact     |                id_strah 
------------------------------------------------------
          1          |    1    |     6   |     2   |         
------------------------------------------------------
          2          |          |     3   |          |        
------------------------------------------------------
          3          |     5   |          |          |     4    
------------------------------------------------------
          4          |          |     7   |          |     
------------------------------------------------------
          6          |          |          |    8    |     
------------------------------------------------------
Как перекрестный делается в Access я знаю.
А вот возможно ли подобное в  MSSQL для меня загадка. Но очень бы этого хотелось.


Хеееееееелп ми   smile smile 
PM MAIL WWW ICQ   Вверх
skyboy
Дата 23.9.2008, 09:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


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

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




M
skyboy
Выкушено из темы Перекрестный запрос, что в разделе "MySQL"

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


Опытный
**


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

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



для 2005 (как сделать для 2000   - не знаю!)
Код

declare @tbl table
(
 id_contact   int, 
 id_strah int,
  vid int
)
---------------------------
insert @tbl
select  1 ,1, 1 union all
select  1,2 ,  3 union all
select   2 , 3, 2 union all
select  3 ,4 , 4 union all
select  3 , 5,1 union all
select   1 , 6 ,2 union all
select   4  , 7,2 union all
select  6 , 8 , 3
----------------------------------------
select id_contact,[1],[2],[3],[4]
from @tbl  as t
pivot
(
max(id_strah)
FOR vid  IN
( [1], [2], [3], [4] )
) AS pvt



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


Шустрый
*


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

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



спасибочки =)

я немного по-другому сделала. с помощью вложенных запросов. но теперь еще 1 вариант знать буду  smile 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

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

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


 




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


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

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