![]() |
Страницы (4): « 1 2 [3] 4 » Показаны 58 сообщений на этой странице |
Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- MySQL (http://netadmin.ws/forum/forumdisplay.php?forumid=40)
-- Вопросы по MS SQL Server (http://netadmin.ws/forum/showthread.php?threadid=10996)
Новый вопрос: хачу "LIMIT 12" (ну или LIMIT 1,12) в MS!!!! Или я нифига в этой доке не пойму, или у него нету LIMIT... 
__________________
Админ - вождь Апачей...
Если можно, то подробней про
quote:
хачу "LIMIT 12"
__________________
Тест - проверка верности!
Ну в MySQL пишешь
SELECT * FROM table LIMIT 1, 12;
и он выберает только первые 12 строк запроса...
__________________
Админ - вождь Апачей...
В SQL Server
SELECT TOP 12 * FROM table
__________________
Тест - проверка верности!
Viktor из за моей фанатичной упертости в кроссплатформенность данный запрос не проканывает
... MySQL его не переварит.
__________________
Админ - вождь Апачей...
Других вариантов нет...
__________________
Тест - проверка верности!
:/ жаль... Ладно, прорвемся... 
Ещё один вопрос: есть запрос:
SELECT limits.id, limits.structura_kks_id, limits.structura_rashodov_id, limits.to_year, limits.to_year_total, structura_kks.title AS structura_kks_title,
structura_rashodov.title AS structura_rashodov_title,
(SELECT SUM(total_price_nds)
FROM rashodi INNER JOIN
structura_kks structura_kks_inner ON rashodi.structura_kks_id = structura_kks_inner.id
WHERE structura_kks_inner.cleft >= structura_kks.cleft AND structura_kks_inner.cright <= structura_kks.cright) AS rashodi_total
FROM limits INNER JOIN
structura_kks ON limits.structura_kks_id = structura_kks.id INNER JOIN
structura_rashodov ON limits.structura_rashodov_id = structura_rashodov.id
WHERE (limits.to_year_total >=
(SELECT SUM(total_price_nds)
FROM rashodi INNER JOIN
structura_kks structura_kks_inner ON rashodi.structura_kks_id = structura_kks_inner.id
WHERE structura_kks_inner.cleft >= structura_kks.cleft AND structura_kks_inner.cright <= structura_kks.cright))
ORDER BY structura_kks.cleft, structura_rashodov.cleft
SELECT limits.id, limits.structura_kks_id, limits.structura_rashodov_id, limits.to_year, limits.to_year_total, structura_kks.title AS structura_kks_title,
structura_rashodov.title AS structura_rashodov_title,
(SELECT SUM(total_price_nds)
FROM rashodi INNER JOIN
structura_kks structura_kks_inner ON rashodi.structura_kks_id = structura_kks_inner.id
WHERE structura_kks_inner.cleft >= structura_kks.cleft AND structura_kks_inner.cright <= structura_kks.cright) AS rashodi_total
FROM limits INNER JOIN
structura_kks ON limits.structura_kks_id = structura_kks.id INNER JOIN
structura_rashodov ON limits.structura_rashodov_id = structura_rashodov.id
WHERE (limits.to_year_total >= rashodi_total)
ORDER BY structura_kks.cleft, structura_rashodov.cleft
__________________
Админ - вождь Апачей...
Вполне логично, т.к. нельзя использовать в условиях имена вычисляемых столбцов.
А что мешает сделать вид, который делает необходимые вычисления?
Вид MyView
SELECT SUM(total_price_nds) AS rashodi_total
FROM rashodi INNER JOIN
structura_kks structura_kks_inner ON rashodi.structura_kks_id = structura_kks_inner.id
WHERE structura_kks_inner.cleft >= structura_kks.cleft AND structura_kks_inner.cright <= structura_kks.cright
)
SELECT limits.id, limits.structura_kks_id, limits.structura_rashodov_id, limits.to_year, limits.to_year_total, structura_kks.title AS structura_kks_title,
structura_rashodov.title AS structura_rashodov_title,
MyView.rashodi_total
FROM MyView, limits INNER JOIN
structura_kks ON limits.structura_kks_id = structura_kks.id INNER JOIN
structura_rashodov ON limits.structura_rashodov_id = structura_rashodov.id
WHERE (limits.to_year_total >= MyView.rashodi_total)
ORDER BY structura_kks.cleft, structura_rashodov.cleft
__________________
Тест - проверка верности!
Viktor "вид"="представление"? (я такой термин слышал).
А он возьмёт значения для WHERE "извне"?..
И опять встает вопрос о моей фанатичной упертости в кроссплатформенность... Будет ли это под MySQL 5.x работать?..
__________________
Админ - вождь Апачей...
quote:
SELECT TOP 12 * FROM table
__________________
Всегда есть решение.
polo пасиба за идею... Видимо придтся так и сделать...
Вот ещё одна фишка:
SELECT structura_kks.id, structura_kks.title, structura_kks. LEVEL, structura_kks.cleft, structura_kks.cright, structura_kks.fio,
contr_zadania.id AS contr_zadania_id, contr_zadania.kz_to_year AS year_of_kz, contr_zadania.kz_year AS to_year,
contr_zadania.kz_I_kvartal AS kv_1, contr_zadania.kz_II_kvartal AS kv_2, contr_zadania.kz_III_kvartal AS kv_3,
contr_zadania.kz_IV_kvartal AS kv_4
FROM structura_kks LEFT OUTER JOIN
contr_zadania ON contr_zadania.structura_kks_id = structura_kks.id
ORDER BY structura_kks.cleft
SELECT structura_kks.id, structura_kks.title, structura_kks. LEVEL, structura_kks.cleft, structura_kks.cright, structura_kks.fio,
contr_zadania.id AS contr_zadania_id, contr_zadania.kz_to_year AS year_of_kz, contr_zadania.kz_year AS to_year,
contr_zadania.kz_I_kvartal AS kv_1, contr_zadania.kz_II_kvartal AS kv_2, contr_zadania.kz_III_kvartal AS kv_3,
contr_zadania.kz_IV_kvartal AS kv_4
FROM structura_kks LEFT OUTER JOIN
contr_zadania ON contr_zadania.structura_kks_id = structura_kks.id
WHERE contr_zadania.kz_to_year = '2006'
ORDER BY structura_kks.cleft
__________________
Админ - вождь Апачей...
he][es, если не секрет, зачем ты делаешь поддержку двум базам одновременно?
__________________
Всегда есть решение.
polo
эээ... ну.. "типа круто"
... Просто когда есть возможность перенести приложение на др. БД это же хорошо.. Или я не прав?
__________________
Админ - вождь Апачей...
Ну смотря какое приложение и на что оно направлено. Если это какой-то коммерческий прект расчитанный на узкий круг клиентов, то таке врядли нужно. Если это крупномасштабный скрипт который будет продаваться или раздаваться публично, то наверное нужно. Я например думаю так: если пишишь скрипт, максимально его подготовь для перехода на другую бд, а при надобности позже переноситься на другую бд. Хочу заметить что это лично мое мнение.
__________________
Всегда есть решение.
quote:
Если это какой-то коммерческий прект расчитанный на узкий круг клиентов, то таке врядли нужно.
я болен манией кросплатформенности...__________________
Админ - вождь Апачей...
| Формат времени GMT. Текущее время 21:09. | Страницы (4): « 1 2 [3] 4 » Показаны 58 сообщений на этой странице |
Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.