|
2 / 2 / 0
Регистрация: 07.04.2011
Сообщений: 76
|
||||||
Comm.CommandText=14.10.2016, 10:15. Показов 754. Ответов 10
Метки нет (Все метки)
ExchangeRates(курсвалют). Вопрос ExchangeRates.Date>=Document.Date и один документ умножается столько раз сколько присутствует Date в ExchangeRates. Как сделать так, что бы выбиралась только первая дата после ExchangeRates.Date>=
0
|
||||||
| 14.10.2016, 10:15 | |
|
Ответы с готовыми решениями:
10
Информация по javax.comm
как работать в С# с comm портом? |
|
86 / 86 / 24
Регистрация: 27.02.2010
Сообщений: 397
|
|
| 14.10.2016, 10:54 | |
|
Если я правильно понял
select top 1 ..
0
|
|
|
2 / 2 / 0
Регистрация: 07.04.2011
Сообщений: 76
|
|
| 14.10.2016, 12:01 [ТС] | |
|
может что-то не так ?
comm71.CommandText = "SELECT TOP 1 SUM(Sum*ExchangeRates.Sum1/ExchangeRates.Sum2) FROM Document,DocumentBody,DocumentSum,Exchan geRates WHERE ((Document.Id=DocumentBody.IdDocument) AND (DocumentBody.Id=DocumentSum.IdDocumentB ody) AND (ExchangeRates.IdDirectory2=Document.IdC urrency) AND (ExchangeRates.Date>=Document.Date) AND (Document.TypeDocument=20 OR Document.TypeDocument=21 OR Document.TypeDocument=24 OR Document.TypeDocument=29 OR Document.TypeDocument=30 OR Document.TypeDocument=37 OR Document.TypeDocument=38 OR Document.TypeDocument=39 OR Document.TypeDocument=40) AND (ExchangeRates.IdDirectory1=@VIdCurrency M2) AND (Document.Date<=@VDateMTime) AND (Document.IdClientOur=@VIdClientOurM))"; Добавлено через 41 минуту вот это должно выбираться толь один раз (ExchangeRates.Date>=Document.Date)
0
|
|
|
2 / 2 / 0
Регистрация: 07.04.2011
Сообщений: 76
|
|
| 15.10.2016, 16:55 [ТС] | |
|
И все таки результат неверный
comm8.CommandText = "SELECT SUM(Sum*ExchangeRates.Sum1/ExchangeRates.Sum2) AS Sum FROM Document,DocumentBody,DocumentSum,Exchan geRates WHERE ((ExchangeRates.Date<=Document.Date) AND (ExchangeRates.IdDirectory2=Document.IdC urrency) AND (Document.Id=DocumentBody.IdDocument) AND (DocumentBody.Id=DocumentSum.IdDocumentB ody) AND (Document.TypeDocument=47) AND (ExchangeRates.IdDirectory1=@VIdCurrency M2) AND (Document.IdClientOur=@VIdClientOurM) AND (Document.Date<=@VDateMTime))";
0
|
|
|
86 / 86 / 24
Регистрация: 27.02.2010
Сообщений: 397
|
||||||
| 15.10.2016, 19:01 | ||||||
0
|
||||||
|
2 / 2 / 0
Регистрация: 07.04.2011
Сообщений: 76
|
|
| 15.10.2016, 22:15 [ТС] | |
|
Добавлено через 1 час 39 минут
Выбрало одну дату ExchangeRates.Date и все DocumentSum.Sum * ExchangeRates.Sum1/ExchangeRates.Sum курс один и тотже, а надо чтобы Каждая дата документа соответствовала дате ExchangeRates(курс валют). comm8.CommandText = "SELECT (Sum*ExchangeRates.Sum1/ExchangeRates.Sum2) AS Summ,ExchangeRates.Date FROM ExchangeRates,DocumentSum,DocumentBody,D ocument WHERE Document.IdCurrency IN (SELECT TOP 1 ExchangeRates.IdDirectory2) AND (ExchangeRates.Date<=Document.Date) AND (Document.IdCurrency>=ExchangeRates.IdDi rectory2) AND (Document.Id=DocumentBody.IdDocument) AND (DocumentBody.Id=DocumentSum.IdDocumentB ody) AND (Document.TypeDocument=20 OR Document.TypeDocument=21 OR Document.TypeDocument=24 OR Document.TypeDocument=29 OR Document.TypeDocument=30) AND (ExchangeRates.IdDirectory1=@VIdCurrency M2) AND (Document.IdClientOur=@VIdClientOurM) AND (Document.Date<=@VDateMTime) ORDER BY ExchangeRates.Date";
0
|
|
|
86 / 86 / 24
Регистрация: 27.02.2010
Сообщений: 397
|
|
| 15.10.2016, 23:02 | |
|
Вы точки "..." в моем ответе видели? Или тупо копи-паст?
Логику запроса составьте и все получится.
0
|
|
|
2 / 2 / 0
Регистрация: 07.04.2011
Сообщений: 76
|
|
| 16.10.2016, 11:28 [ТС] | |
|
Добавлено через 11 часов 21 минуту
Пожалуйста помогите голова кругом не могу найти решение. КУРС ДОЛЖЕН ВЫБИРАТЬСЯ <= ДОКУМЕНТА, А ВЫБИРАЕТ ПЕРВЫЙ ПО СПИСКУ И ВСЕ ДОКУМЕНТЫ ЧЕРЕЗ НЕГО ..... comm.CommandText = "SELECT * FROM ExchangeRates INNER JOIN Document ON Document.IdCurrency=ExchangeRates.IdDire ctory2 INNER JOIN DocumentBody ON Document.Id=DocumentBody.IdDocument INNER JOIN DocumentSum ON DocumentBody.Id=DocumentSum.IdDocumentBo dy WHERE Document.IdCurrency IN (SELECT TOP 1 ExchangeRates.IdDirectory2) AND (ExchangeRates.Date<=Document.Date) ORDER BY ExchangeRates.Date";
0
|
|
|
2 / 2 / 0
Регистрация: 07.04.2011
Сообщений: 76
|
|
| 17.10.2016, 15:13 [ТС] | |
|
первый вариант работает отлично если в FROM появилась таблица ExchangeRates(курс валют Вариант 2) тогда количество Документов становится больше ровно настолько сколько строк в справочнике (ExchangeRates)
если реально документов 10 а в справочники(ExchangeRates) строк 4, то документов SELECT 40 вариант 1 comm1.CommandText = "SELECT * FROM DocumentSum INNER JOIN DocumentBody ON DocumentSum.IdDocumentBody = DocumentBody.Id INNER JOIN Document ON DocumentBody.IdDocument = Document.Id LEFT OUTER JOIN DocumentFixedAssets ON DocumentBody.Id = DocumentFixedAssets.IdDocumentBody WHERE (DocumentFixedAssets.IdDocumentBody IS NULL) вариант 2 comm2.CommandText = "SELECT * FROM DocumentSum INNER JOIN DocumentBody ON DocumentSum.IdDocumentBody = DocumentBody.Id INNER JOIN Document ON DocumentBody.IdDocument = Document.Id LEFT OUTER JOIN DocumentFixedAssets ON DocumentBody.Id = DocumentFixedAssets.IdDocumentBody INNER JOIN ExchangeRates ON Document.IdCurrency=ExchangeRates.IdDire ctory2 WHERE (DocumentFixedAssets.IdDocumentBody IS NULL) AND (ExchangeRates.IdDirectory1=@VIdCurrency M2)";
0
|
|
|
шапоклякистка 8-го дня
|
||||||||||||
| 19.10.2016, 08:12 | ||||||||||||
Добавлено через 5 минут А вообще, SyR - почему бы не сохранить этот запрос на сервере в виде хранимой процедуры, отладить ее там. А в командной строке написать
0
|
||||||||||||
|
2 / 2 / 0
Регистрация: 07.04.2011
Сообщений: 76
|
|
| 19.10.2016, 17:02 [ТС] | |
|
texnik-san,
Хранимая процедура это хорошо, только как вы говорите ее надо отладить. Какая разница где... спасибо за совет у меня уже все получилось ТОР 1 пригодился но только с CROSS APPLY
0
|
|
| 19.10.2016, 17:02 | |
|
Помогаю со студенческими работами здесь
11
MS Comm как принять 1 байт Comm.PNSequence- выводит неправильную последовательность COMM или LPT для радиолюбителя? Как установить ПО c пакетом javax.comm? проблема с хранимой процедурой Call Comm.Execute Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Новый ноутбук
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
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|