Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
2 / 2 / 0
Регистрация: 18.12.2012
Сообщений: 38

не получается запрос

18.05.2013, 16:07. Показов 1196. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
в общем не получается запрос.
даны таблицы dbo.mmmpl и dbo.DEBIT
из первой выбираем столбцы Nskv, PLAST, Krow, Podosh, MEF, Por
из второй выбираем столбцы Nwell, MEST, PLAST, debit. Nwell = Nskv. MEST = 116
надо получить таблицу с одной записью,
в которой есть столбцы PLAST, Krow, Podosh, Por, debit,
где Por = Sum(MEF * Por)/Sum(MEF)

вот мой вариант, который не работает:
SQL
1
2
3
4
5
6
7
8
9
10
11
12
SELECT DISTINCT
    A.PLAST
    ,MIN(A.KROW) AS KROW
    ,MAX(A.PODOSH) AS PODOSH
    ,(SUM(A.MEF * A.PODOSH) / SUM(A.MEF)) AS POR
    ,B.DEBIT
FROM
    MSSQL..mmmpl AS A
        INNER JOIN
    MSSQL..DEBIT AS B
ON B.MEST = 116 AND A.PLAST = B.PLAST AND A.NSKV = B.NWELL AND A.MEF > 0
GROUP BY A.PLAST, B.DEBIT, POR
Вложения
Тип файла: rar guery.rar (61.1 Кб, 6 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.05.2013, 16:07
Ответы с готовыми решениями:

8.3 Не получается запрос
Есть Регистр сведений и ТаблицаЗначений с одинаковыми полями, типами и значениями. В ТЗ может быть меньшее кол-во строк и другие значения в...

Не получается запрос
Здравствуйте. К готовой базе надо составить запрос: Получить сведения об износе компьютеров (без суммирования).. Но я очень далеко от темы...

Не получается запрос
adoquery1.Active:=false; adoquery1.Close; adoquery1.SQL.Clear; adoquery1.SQL.Add('INSERT INTO Table1'); ...

12
2 / 2 / 0
Регистрация: 18.12.2012
Сообщений: 38
18.05.2013, 16:15  [ТС]
в столбце Krow должно быть наименьшее значение верхнее кровли
в столбце Podosh должно быть наибольшее значение нижней подошвы

ниже есть скрин моей таблицы. должна получатся одна запись, т.к. значение столбца Plast везде 32
Миниатюры
не получается запрос  
0
2 / 2 / 0
Регистрация: 18.12.2012
Сообщений: 38
18.05.2013, 17:23  [ТС]
Поправка!!!
1)самым первым должен быть столбец NSKV
2)записей должно быть столько, сколько есть различный скважин (номер храниться в NSKV)
3)для каждой скважины в Krow д.б. минимальная кровля, в Podosh максимальная подошва

вот уже измененные запрос и скрин:
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT DISTINCT
    A.NSKV
    ,A.PLAST
    ,MIN(A.KROW) AS KROW
    ,MAX(A.PODOSH) AS PODOSH
    ,(SUM(A.MEF * A.PODOSH) / SUM(A.MEF)) AS POR
    ,B.DEBIT
FROM
    MSSQL..mmmpl AS A
        INNER JOIN
    MSSQL..DEBIT AS B
ON B.MEST = 116 AND A.PLAST = B.PLAST AND A.NSKV = B.NWELL AND A.MEF > 0
GROUP BY A.NSKV,A.PLAST, B.DEBIT, POR
Миниатюры
не получается запрос  
0
2 / 2 / 0
Регистрация: 18.12.2012
Сообщений: 38
19.05.2013, 10:44  [ТС]
сейчас проблема в том, чтобы осталось по одной записи на каждую скважину.
и проверка правильности расчета столбца Por

Добавлено через 17 часов 10 минут
есть кто-нибудь?
0
107 / 107 / 5
Регистрация: 28.12.2012
Сообщений: 207
19.05.2013, 14:48
Толком не понятно, что вам нужно если честно..
0
2 / 2 / 0
Регистрация: 18.12.2012
Сообщений: 38
19.05.2013, 20:38  [ТС]
asd24,
есть две таблицы.
из них надо получить одну
в первой таблице находится географическая и геологическая инфа по скважинам.
а точнее например для скважины есть несколько пластов. и в искомой талице в KROW надо получить верхний уровень верхнего пласта, в Podosh надо получить нижний уровень нижнего пласта.

Добавлено через 43 секунды
asd24, и сколько скважин в первой таблице, столько должно быть записей в искомой таблице

Добавлено через 3 часа 38 минут
срочно нужна помощь в этой проблеме! пожалуйста!
0
107 / 107 / 5
Регистрация: 28.12.2012
Сообщений: 207
19.05.2013, 21:48
Колонка Debit мешает вам получить значения по каждой скважине в одной экземпляре..
T-SQL
1
2
3
4
5
6
7
8
9
10
11
12
SELECT DISTINCT
    A.NSKV
    ,A.PLAST
    ,MIN(A.KROW) AS KROW
    ,MAX(A.PODOSH) AS PODOSH
    ,(SUM(A.MEF * A.PODOSH) / SUM(A.MEF)) AS POR
FROM
    MSSQL..mmmpl AS A
        INNER JOIN
    MSSQL..DEBIT AS B
ON B.MEST = 116 AND A.PLAST = B.PLAST AND A.NSKV = B.NWELL AND A.MEF > 0
GROUP BY A.NSKV,A.PLAST, POR
По идее, должно помочь..
0
2 / 2 / 0
Регистрация: 18.12.2012
Сообщений: 38
19.05.2013, 21:58  [ТС]
asd24,
все равно для некоторых скважин (например 154М или 164) по две записи. хотя в моем вариант по 4.
0
107 / 107 / 5
Регистрация: 28.12.2012
Сообщений: 207
19.05.2013, 22:04
Цитата Сообщение от roman_stuffy Посмотреть сообщение
все равно для некоторых скважин (например 154М или 164) по две записи. хотя в моем вариант по 4.
По скриншоту вам также не обязательно группировать значения по колонке POR - с ней вы выполняете только аггрегированные функции. Уберите и его из группировки и посмотрите что получиться..
0
2 / 2 / 0
Регистрация: 18.12.2012
Сообщений: 38
19.05.2013, 22:07  [ТС]
asd24, так ведь скважина одна, пласт один. значит и пористость ( POR ) одна должна быть
0
107 / 107 / 5
Регистрация: 28.12.2012
Сообщений: 207
19.05.2013, 22:16
Цитата Сообщение от roman_stuffy Посмотреть сообщение
asd24, так ведь скважина одна, пласт один. значит и пористость ( POR ) одна должна быть
У вас идет группировка по всем этим полям - и видно что у дублирующих записей значения NSKV, PLAST не меняются а у POR как раз меняются - значит проблема в нём.. возможно, проблема в данных в этому столбцу.
0
2 / 2 / 0
Регистрация: 18.12.2012
Сообщений: 38
19.05.2013, 22:30  [ТС]
asd24, так я вам про это и говорю.
количество записей на скважину уменьшилось, но должна быть одна запись.
почему формула по вычислению POR сработала только для некоторых записей по одной скважине, а не по всем записям по той же скважине???
0
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
20.05.2013, 10:41
POR является агрегатной формулой, поэтому в группировке ее быть не может
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.05.2013, 10:41
Помогаю со студенческими работами здесь

Не получается создать запрос
Имеется база данных «Библиотека», содержащая три таблицы: a) о книгах: код книги, код раздела, код автора, название, издательство, год...

Вложеный запрос не получается
Добрый день уважаемые форумчани. Сел писать запрос...А уже всю голову изломал,не знаю как реализовать :wall:...Вот то что я сделал: ...

Не получается составить запрос
Всем привет! Вот уже 29 декабря, а я все никак не могу получить зачет по базам данных...Застрял на таком запросе: Режиссеры, фильмы...

Не получается пост запрос
Пытаюсь создать пост запрос и авторизоваться но ничего не происходит. В чем проблема? Вот код: unit Unit1; interface uses ...

Запрос, млин, не получается
Имеются две таблицы: Долги(поля ДатаДолга и СуммаДолга) и Платежи(поля ДатаПлатежа и СуммаПлатежа) Платежи и долги могут осуществляться в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru