Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Использовать результат одного запроса в другом как таблицу
|
|||
|---|---|---|---|
|
#18+
Возникла необходимость использовать результат одного запроса в качестве одной из таблиц с данными для другого запроса (все это должно помещаться в Stored Procedure). Я только начал изучать MSSQL, подскажите, как это можно сделать. Хотел сделать с помошью CREATE VIEW , но говорят в SP он не работает. Пробовал сделать вложенную таблицу в FROM, но выдается ошибка, что не знает он поля из этой таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2001, 08:18 |
|
||
|
Использовать результат одного запроса в другом как таблицу
|
|||
|---|---|---|---|
|
#18+
Select t_1.row_1,t_2.row_1 from table_1 as t_1, (select row_1 from table_2) as t_2 (row_1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2001, 08:25 |
|
||
|
Использовать результат одного запроса в другом как таблицу
|
|||
|---|---|---|---|
|
#18+
>Хотел сделать с помошью CREATE VIEW , но говорят в SP он не работает. Кто "он"-то - CREATE VIEW не работает, или SELECT .... FROM myview не работает, или ... ?Покажите код, с помощью которого вы пытаетесь это сделать >Пробовал сделать вложенную таблицу в FROM, но выдается ошибка, что не знает он поля из этой таблицы. Опять же без программного кода трудно что-либо сказать (можно и полное сообщение об ошибке привести) В общем случае конструкции вида SELECT * FROM (SELECT * FROM myview1 ) AS a INNER JOIN (SELECT * FROM myview2 ) AS b ON a.id=b.id прекрасно работают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2001, 08:31 |
|
||
|
Использовать результат одного запроса в другом как таблицу
|
|||
|---|---|---|---|
|
#18+
Вообщем вот запрос, который я пытаюсь сделать. SELECT TOP 1000 list_room.UID, list_room.UIDParent, list_room.Folder, list_room.DTInsert, list_room.DTUpdate, list_room.Caption, list_room.RoomSquare, view_journal.Taxrate, view_journal.CountPlace, view_journal.UIDQuality, view_journal CaptionQuality, list_room.UIDOwner FROM list_room, (select journal_room_var.UIDRoom, journal_room_var.Taxrate, journal_room_var.CountPlace, journal_room_var.UIDQuality, list_quality.Caption AS CaptionQuality from journal_room_var, list_quality where (journal_room_var.UIDQuality = list_quality.UID) and str(UIDRoom)+convert(varchar(30),DTActual) IN (SELECT str(UIDRoom)+convert(varchar(30),max(DTActual)) FROM journal_room_var group by UIDRoom)) AS view_journal WHERE (list_room.UID = view_journal.UIDRoom) and ((list_room.Caption LIKE @Caption+'%') or (@Caption IS NULL)) and ((@RoomSquareMin<=list_room.RoomSquare) or (@RoomSquareMin IS NULL)) and ((@RoomSquareMax>=list_room.RoomSquare) or (@RoomSquareMax IS NULL)) and (@Folder=list_room.Folder) and ((@UIDParent=list_room.UIDParent) or (@UIDParent IS NULL)) ORDER BY list_room.UID END ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2001, 10:23 |
|
||
|
Использовать результат одного запроса в другом как таблицу
|
|||
|---|---|---|---|
|
#18+
Так вроде все нормально, но в 12-той строчке отсутствует точка view_journal CaptionQuality, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2001, 11:18 |
|
||
|
Использовать результат одного запроса в другом как таблицу
|
|||
|---|---|---|---|
|
#18+
Точка наверно потерялась когда копировал. Мне вот другое интересно, для чего делают перечисление полей в конце вставленного запроса после AS ? И еще вопрос: У меня сейчас даный селект выбирает записи, которым соответствует какая-то запись из внутреннй выборки (view_journal). Как сделать, чтоб выбтралтсь все записи из list_room , а которым из них соответствует запись из view_journal, чтоб просто подставлялись нужные значения из нее. По идее это надо сделать через Join, но я себе плохо представляю как. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2001, 11:38 |
|
||
|
Использовать результат одного запроса в другом как таблицу
|
|||
|---|---|---|---|
|
#18+
select ... from list_room left outer join (select ...) AS view_journal on list_room.UID = view_journal.UIDRoom where ... из where list_room.UID = view_journal.UIDRoom надо убрать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2001, 11:46 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32015466&tid=1825286]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 228ms |
| total: | 344ms |

| 0 / 0 |
