Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
 Re: Есть несколько таблиц, как объединить их в одну?  [new]
kpacaba
Member

Откуда:
Сообщений: 80
kpacaba,

или мы загоняем виртуальную таблицу через declare? и уже оттуда потом вытаскиваем?
5 июл 11, 19:11    [10927614]     Ответить | Цитировать Сообщить модератору
 Re: Есть несколько таблиц, как объединить их в одну?  [new]
USBcab
Member

Откуда:
Сообщений: 48
kpacaba
kpacaba,

или мы загоняем виртуальную таблицу через declare? и уже оттуда потом вытаскиваем?

DECLARE @Таблица_1 TABLE ( Name CHAR(1), Qty INT)
select * from @Таблица_1 where Name='E'
5 июл 11, 19:22    [10927654]     Ответить | Цитировать Сообщить модератору
 Re: Есть несколько таблиц, как объединить их в одну?  [new]
kpacaba
Member

Откуда:
Сообщений: 80
DECLARE @Таблица_1 TABLE ( isin CHAR(1), price INT)
select isin, price
from INDARB.dbo.prices_morning
union all
SELECT  'fRTS_Morning' isin,
        MAX(CASE WHEN isin = 'RTS-9.11' THEN price
            END) * 0.02 * MAX(CASE WHEN isin = 'Si-9.11' THEN price
                       END) /1000.0 price
FROM    INDARB.dbo.prices_morning
WHERE   isin IN ( 'Si-9.11', 'RTS-9.11' )
union all
SELECT  'iRTS_Morning' isin,
        MAX(CASE WHEN isin = 'RTS-9.11' THEN price
            END) * 0.02 * MAX(CASE WHEN isin = 'Si-9.11' THEN price
                       END) /1000.0 - MAX(CASE WHEN isin = 'RTS-9.11' THEN price
            END) * 0.02 * MAX(CASE WHEN isin = 'Si-9.11' THEN price
                       END) /1000.0 * MAX(CASE WHEN isin = 'RTS_Basis' THEN price
                       END) / 100.0 price
FROM    INDARB.dbo.prices_morning
WHERE   isin IN ( 'Si-9.11', 'RTS-9.11','RTS_Basis' )
union all
Select 'iBasis' isin,
   MAX(CASE WHEN isin = 'fRTS_Morning' THEN price
            END) - MAX(CASE WHEN isin = 'iRTS_Morning' THEN price
            END) price
            from @Таблица_1
            WHERE   isin IN ( 'fRTS_Morning', 'iRTS_Morning' )

Что то не хочет вытаскивать fRTS_Morning и iRTS_Morning из виртуальной таблицы(( Почему?

Создает поле iBasis и пишет там NULL
6 июл 11, 11:01    [10930290]     Ответить | Цитировать Сообщить модератору
 Re: Есть несколько таблиц, как объединить их в одну?  [new]
USBcab
Member

Откуда:
Сообщений: 48
kpacaba,
а мне вот интересно что должно "вытаскиваться" если там нет данных?
6 июл 11, 11:14    [10930437]     Ответить | Цитировать Сообщить модератору
 Re: Есть несколько таблиц, как объединить их в одну?  [new]
kpacaba
Member

Откуда:
Сообщений: 80
Как я понимал, что когда я селектил, я все туда помещал
6 июл 11, 11:23    [10930546]     Ответить | Цитировать Сообщить модератору
 Re: Есть несколько таблиц, как объединить их в одну?  [new]
kpacaba
Member

Откуда:
Сообщений: 80
Как все полученные данные по этим 3м запросам внести в единую виртуальную таблицу?
6 июл 11, 11:24    [10930566]     Ответить | Цитировать Сообщить модератору
 Re: Есть несколько таблиц, как объединить их в одну?  [new]
kpacaba
Member

Откуда:
Сообщений: 80
по 4м точнее
6 июл 11, 11:24    [10930571]     Ответить | Цитировать Сообщить модератору
 Re: Есть несколько таблиц, как объединить их в одну?  [new]
USBcab
Member

Откуда:
Сообщений: 48
kpacaba,
неправильно понимали.
Разберитесь наконец что такое INSERT и что такое SELECT.
6 июл 11, 11:24    [10930572]     Ответить | Цитировать Сообщить модератору
 Re: Есть несколько таблиц, как объединить их в одну?  [new]
kpacaba
Member

Откуда:
Сообщений: 80
я знаю, что такое insert, но как insert'ить в виртуальную таблицу?
6 июл 11, 11:32    [10930644]     Ответить | Цитировать Сообщить модератору
 Re: Есть несколько таблиц, как объединить их в одну?  [new]
Glory
Member

Откуда:
Сообщений: 104751
kpacaba
я знаю, что такое insert, но как insert'ить в виртуальную таблицу?

Так же как и в невиртуальную
6 июл 11, 11:33    [10930654]     Ответить | Цитировать Сообщить модератору
 Re: Есть несколько таблиц, как объединить их в одну?  [new]
kpacaba
Member

Откуда:
Сообщений: 80
Glory,

Msg 8152, Level 16, State 14, Line 2
String or binary data would be truncated.
The statement has been terminated.


Вот такой ответ, если я пытаюсь вставить обычным способом
6 июл 11, 11:55    [10930863]     Ответить | Цитировать Сообщить модератору
 Re: Есть несколько таблиц, как объединить их в одну?  [new]
USBcab
Member

Откуда:
Сообщений: 48
kpacaba,
автор
DECLARE @Таблица_1 TABLE ( isin CHAR(1), price INT)

ни на какие мысли не наталкивает?
6 июл 11, 11:56    [10930877]     Ответить | Цитировать Сообщить модератору
 Re: Есть несколько таблиц, как объединить их в одну?  [new]
Eagle_84
Member

Откуда: Москва
Сообщений: 1535
kpacaba
Glory,

Msg 8152, Level 16, State 14, Line 2
String or binary data would be truncated.
The statement has been terminated.


Вот такой ответ, если я пытаюсь вставить обычным способом


у Вас -
...isin CHAR(1)...
- не мало ли? :)
6 июл 11, 11:59    [10930892]     Ответить | Цитировать Сообщить модератору
 Re: Есть несколько таблиц, как объединить их в одну?  [new]
kpacaba
Member

Откуда:
Сообщений: 80
USBcab,

Мы создаем виртуальную таблицу Таблица 1, где есть два поля isin и price
6 июл 11, 12:00    [10930903]     Ответить | Цитировать Сообщить модератору
 Re: Есть несколько таблиц, как объединить их в одну?  [new]
Glory
Member

Откуда:
Сообщений: 104751
kpacaba
USBcab,

Мы создаем виртуальную таблицу Таблица 1, где есть два поля isin и price

И как в поле CHAR(1) поместится значение 'iBasis' по вашему ?
6 июл 11, 12:03    [10930921]     Ответить | Цитировать Сообщить модератору
 Re: Есть несколько таблиц, как объединить их в одну?  [new]
kpacaba
Member

Откуда:
Сообщений: 80
Glory,

DECLARE @Таблица_1 TABLE ( isin CHAR(1000), price INT)


Warning: Null value is eliminated by an aggregate or other SET operation.

(74 row(s) affected)
6 июл 11, 12:04    [10930935]     Ответить | Цитировать Сообщить модератору
 Re: Есть несколько таблиц, как объединить их в одну?  [new]
Eagle_84
Member

Откуда: Москва
Сообщений: 1535
kpacaba
Glory,

DECLARE @Таблица_1 TABLE ( isin CHAR(1000), price INT)


Warning: Null value is eliminated by an aggregate or other SET operation.

(74 row(s) affected)


это предупреждение, можно сделать просто
SET ANSI_WARNINGS OFF
:)
но лучше все-таки устранить предупреждение
6 июл 11, 12:06    [10930957]     Ответить | Цитировать Сообщить модератору
 Re: Есть несколько таблиц, как объединить их в одну?  [new]
USBcab
Member

Откуда:
Сообщений: 48
kpacaba,
автор
price INT

и это ни на какие мысли не наводит при умножении на 0.02?
6 июл 11, 12:08    [10930972]     Ответить | Цитировать Сообщить модератору
 Re: Есть несколько таблиц, как объединить их в одну?  [new]
kpacaba
Member

Откуда:
Сообщений: 80
USBcab,
на мысли что нужно выбрать правильный тип данных для этих ячеек
6 июл 11, 12:10    [10931000]     Ответить | Цитировать Сообщить модератору
 Re: Есть несколько таблиц, как объединить их в одну?  [new]
kpacaba
Member

Откуда:
Сообщений: 80
Делаю вот так

DECLARE @Таблица_1 TABLE ( isin CHAR(255), price float(100)
insert into @Таблица_1 select isin, price
from INDARB.dbo.prices_morning


Msg 156, Level 15, State 1, Line 2
Incorrect syntax near the keyword 'insert'.
6 июл 11, 12:14    [10931036]     Ответить | Цитировать Сообщить модератору
 Re: Есть несколько таблиц, как объединить их в одну?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Слушайте, вы сами не собираетесь что ли элементарные ошибки в синтаксисе вроде скобок и запятых искать ?
6 июл 11, 12:16    [10931066]     Ответить | Цитировать Сообщить модератору
 Re: Есть несколько таблиц, как объединить их в одну?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Glory
Слушайте, вы сами не собираетесь что ли элементарные ошибки в синтаксисе вроде скобок и запятых искать ?
А зачем? Форум же есть.
6 июл 11, 12:19    [10931092]     Ответить | Цитировать Сообщить модератору
 Re: Есть несколько таблиц, как объединить их в одну?  [new]
kpacaba
Member

Откуда:
Сообщений: 80
ок, вот так заработало

DECLARE @Таблица_1 TABLE ( isin CHAR(255), price money)
insert into @Таблица_1 select isin, price
from INDARB.dbo.prices_morning
6 июл 11, 12:19    [10931095]     Ответить | Цитировать Сообщить модератору
 Re: Есть несколько таблиц, как объединить их в одну?  [new]
kpacaba
Member

Откуда:
Сообщений: 80
Это что значит?

(72 row(s) affected)
6 июл 11, 12:21    [10931115]     Ответить | Цитировать Сообщить модератору
 Re: Есть несколько таблиц, как объединить их в одну?  [new]
kDnZP
Member [заблокирован]

Откуда: ★[msg=16399436]★[msg=20850760]
Сообщений: 11289
kpacaba, обработано 72 строки.
6 июл 11, 12:23    [10931144]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить