Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / SELECT FROM SELECT / 5 сообщений из 5, страница 1 из 1
15.04.2003, 17:32
    #32141374
ych_boriss
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT FROM SELECT
ПРОСТИТЕ НАС ЛЮДИ ДОБРЫЕ...
САМИ МЫ НЕ МЕСТНЫЕ...
ПАМАГИТЕ ЧЕМ МАГИТЕ... ПАЖАЛУСТА...

Короче, ближе к телу:
Года два не занимался SQL и вот приспичило, нада подсчитать размер выборки, а что-то как-то плохо пучучается (напрочь все забыл). есть код который ИБЕксперт обматерил по всем статьям. а мануалки под рукой нету. Подскажите, пожалуста как нада правильно построить запрос:

/* ==================================================== */
select count(*) from (
select cast(DS.FNAME as varchar(255)) from D_SITE DS
union
select cast(FF.FNAME as varchar(255)) from F_FIRMS FF
)
/* ==================================================== */
...
Рейтинг: 0 / 0
16.04.2003, 03:16
    #32141635
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT FROM SELECT
интересное выражение во from "select cast(DS.FNAME as varchar(255))"
честно говоря не понял его... сперва было предположение что синтаксис MSSQL, потом Oracle. Но и тот и другой обматерил бы. Ты хоть сам знаешь что тебе надо? Размер какой выборки... кол-во строк? так проще будет
select count(*) from table1
...
Рейтинг: 0 / 0
16.04.2003, 06:35
    #32141651
LexusR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT FROM SELECT
Код: plaintext
1.
2.
select (select count(distinct FNAME) from D_SITE) + 
         (select count(distinct FNAME) from F_FIRMS)
...
Рейтинг: 0 / 0
16.04.2003, 11:43
    #32141900
ych_boriss
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT FROM SELECT
2StarWind: Это стандартный синтаксис INTERBASE (можешь материться:-))))
cast(DS.FNAME as varchar(255)) - приводит тип поля к varchar(255)
2LexusR: БОЛЬШОЕ СПАСИБО!!!

Но я сделал более по другому, создал хранимку (можно было и вьюшку), и оттуда получаю все что мне необходимо:

/* ====================================================== */
create procedure GET_RUB_ITEMS
returns (ID integer, DEST varchar(8), FIRM_NAME VARCHAR(255))
as
begin
for
select ID, /* это для меня */
cast('D_SITE:' as varchar(8)) FDEST, /* это тоже для меня */
cast(DS.FNAME as varchar(255)) FNAME
from D_SITE DS
union
select ID,
cast('F_FIRMS:' as varchar(8)) FDEST, /* это для меня */
cast(FF.FNAME as varchar(255)) FNAME /* и это для меня */
from F_FIRMS FF
into :ID, :DEST, :FIRM_NAME
do
suspend;
end
/* ====================================================== */

В SQL-едиторе пишу:

/* ====================================================== */
select count(*) from GET_RUB_ITEMS
/* ====================================================== */

Опять-же, юзаю ИБЕксперт: http://www.ibexpert.com

Спасибо ВСЕМ откликнувшимся!!!
...
Рейтинг: 0 / 0
16.04.2003, 11:45
    #32141906
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT FROM SELECT
про преобразования я знаю, но я честно говоря не увидел предложения from ....
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / SELECT FROM SELECT / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]