|
Процедура не выводит результат
|
|||
---|---|---|---|
#18+
Подскажите пожалуйста что не так? Процедура с селектом не выводит результат. Но если отдельно выполнить запрос, то работает. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63.
Модератор: Пользуйся тегом SRC. И форматируй правильно, тогда и помочь захотят. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 12:40 |
|
Процедура не выводит результат
|
|||
---|---|---|---|
#18+
koo3mee4, в таком виде даже смотреть не хочется. Надо было текст скрипта оформить в тег [src] ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 12:46 |
|
Процедура не выводит результат
|
|||
---|---|---|---|
#18+
koo3mee4Процедура с селектом не выводит результат. Но если отдельно выполнить запрос, то работает. Вероятнее всего отдельно выполняется несколько другой запрос. И вовсе незачем в процедуре громоздить такой же ужас, как в "отдельном запросе": там есть все возможности сделать то же самое в гораздо более читабельном виде. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 13:00 |
|
Процедура не выводит результат
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, да я думаю и сам запрос можно было бы написать гораздо короче. Этот читать не возможно ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 13:04 |
|
Процедура не выводит результат
|
|||
---|---|---|---|
#18+
для начала неплохо бы заменить свои цепочки IIF на CASE ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 13:09 |
|
Процедура не выводит результат
|
|||
---|---|---|---|
#18+
Симонов Денис, Менял не помогло ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 13:10 |
|
Процедура не выводит результат
|
|||
---|---|---|---|
#18+
05.07.2019 13:10, koo3mee4 пишет: > Менял не помогло имхо, тут программист нужен. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 13:14 |
|
Процедура не выводит результат
|
|||
---|---|---|---|
#18+
koo3mee4, оно и не должно было помочь. Просто сделает эту фигню в 2 экрана более читаемой. Какая версия Firebird? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 13:15 |
|
Процедура не выводит результат
|
|||
---|---|---|---|
#18+
Симонов Денис, 3,0 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 13:16 |
|
Процедура не выводит результат
|
|||
---|---|---|---|
#18+
koo3mee4, это уже хорошо. Значит мутные подзапросы вроде Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
можно выделить в PSQL подфункции ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 13:22 |
|
Процедура не выводит результат
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovВероятнее всего отдельно выполняется несколько другой запрос. а я ставлю на "не те" параметры (которые передаются в процедуру, и которые передаются в вырезанный из нее запрос). Симонов Денисможно выделить в PSQL подфункции это да. но мне вот тут вдруг подумалось, что процедурное мышление в SQL иногда вредит. К примеру, обычный Дельфи, С++ и т.д. программист привык повторяющийся код оформлять в процедуры и функции. Далее, он пишет запросы. И в разных запросах есть обращение к одной таблице. И он думает - запросы разные, а обращение одно, дай я оформлю обращение в процедуру. И потом использует эту процедуру в тех запросах. И вдруг наступают тормоза... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 15:16 |
|
Процедура не выводит результат
|
|||
---|---|---|---|
#18+
kdvпроцедурное мышление в SQL иногда вредит. Это не "процедурное мышление", это "отсутствие мышления". Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 16:14 |
|
Процедура не выводит результат
|
|||
---|---|---|---|
#18+
Когда я вижу что все до единого соединения в многоэтажной этажерке left, я дальше не вникаю. Просто потому, что по жизни такой запрос нужен один на 1000. А в остальных 999 случаях это говорит о необходимости археологических раскопок в консерватории. Что мне уже скучно. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 22:31 |
|
Процедура не выводит результат
|
|||
---|---|---|---|
#18+
Старый плюшевый мишка, я тебе скажу чуть иначе. многоэтажки left join у меня вызывают сомнения, что человеку нужен именно left join. И запрос скорее построен автоматическим построителем, чем вручную. И когда задаешь вопрос типа, а что, и правда в treat есть записи, которым нет соответствия в clrefdet, в ответ либо молчание, либо мычание. В этом случае надо дать по башке книгой Дейта, конкретно главой 19 "Отсутствующая информация" ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 23:44 |
|
Процедура не выводит результат
|
|||
---|---|---|---|
#18+
kdvСтарый плюшевый мишка, И запрос скорее построен автоматическим построителем, чем вручную. И когда задаешь вопрос типа, а что, и правда в treat есть записи, которым нет соответствия в clrefdet, в ответ либо молчание, либо мычание. Запрос построен вручную. Да в treat есть записи, которым нет соответствия в clrefdet. Просто чтобы понять логику: Treat - таблица приемов врачей. Clreferrals - таблица направлений (в каком приеме какое направление) Clrefdet - детальная таблица направлений, на какие именно анализы (услуги) Отсюда, не на всех приемах врач делает направление на анализы, соответственно не всегда будет treatcode в таблицах clreferrals и clrefdet. Если есть направление в приеме, то заполняется treatcode в обоих таблицах направлений. Если приём стационарный то заполняется поле dirid в таблице treat и clreferrals. Treatcode заполняется только в таблице clreferrals, в clrefdet нет. А связка между clreferrals и clrefdet происходит по полю refid. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2019, 07:55 |
|
Процедура не выводит результат
|
|||
---|---|---|---|
#18+
koo3mee4Если приём стационарный то заполняется поле dirid в таблице treat и clreferrals. Treatcode заполняется только в таблице clreferrals, в clrefdet нет. А связка между clreferrals и clrefdet происходит по полю refid. Описался. Treatcode вообще не записывается ни в clreferrals ни в clrefdet. Связь между treat и clreferrals производится по полю dirid. А между clreferrals и clrefdet по полю refid ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2019, 08:07 |
|
|
start [/forum/topic.php?fid=40&fpage=22&tid=1560669]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 151ms |
0 / 0 |