|
два запроса к одной таблице сделать в один запрос
|
|||
---|---|---|---|
#18+
Здравствуйте. Есть список пациентов - таблица 1. Есть список операций - таблица 2. Соединены один ко многим (ключ одного пациента может быть у нескольких операций). Мне нужно разделить в запросе на оперированных и нет. ...параметры выборки.... - это дата выписки, отделение и т.д. SELECT s.family||' '||s.name||' '||s.father AS FIO FROM spisok s WHERE ...параметры выборки.... and s.KEY_SPISOK IN (SELECT KEY_SPISOK_OPERAT FROM OPERAT WHERE KEY_SPISOK_OPERAT IN (SELECT sss.KEY_SPISOK FROM SPISOK sss where ...параметры выборки.... мне нужно в одном запросе сделать, чтобы было Оперированные не оперированные фио1 фио2 Как можно это сделать лучше? Дело в том, что их кол-во разное, я пробовал через два запроса, получается, что сначала выводится один, а в фио2 нул, а затем наоборот (надо без нул в начале). Подскажите, пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 10:52 |
|
два запроса к одной таблице сделать в один запрос
|
|||
---|---|---|---|
#18+
Rphoenix, версия Firebird? Кстати по моему ты с подобным вопросом недавно обращался ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 10:55 |
|
два запроса к одной таблице сделать в один запрос
|
|||
---|---|---|---|
#18+
Симонов Денис, 2.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 10:57 |
|
два запроса к одной таблице сделать в один запрос
|
|||
---|---|---|---|
#18+
Rphoenix, тогда пиши анонимный блок или процедуру. Запросом эффективно в 2.5 работать не будет. З.Ы. Ещё надо подумать над тем стоит ли вообще такие запросы писать. Может просто правильно настроить отчётник? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 11:10 |
|
два запроса к одной таблице сделать в один запрос
|
|||
---|---|---|---|
#18+
Выбери просто через LEFT JOIN. А транспонируй в отчётнике. Мы уже поняли, что ты фанат проктоиллюзионных решений, и пора начать наставлять на путь истинного сиквелиста. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 11:12 |
|
два запроса к одной таблице сделать в один запрос
|
|||
---|---|---|---|
#18+
WildSery, а каким образом использовать left join если у них поля общего нет? Т.е. это должны быть из таблицы два противоположных набора записей типо "not in" и "in". Получается, лучше настроить правильный вывод в ексельку через несколько запросов? Раньше был один столбик, а сейчас нужно стало два. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 11:17 |
|
два запроса к одной таблице сделать в один запрос
|
|||
---|---|---|---|
#18+
Rphoenix, SELECT CASE WHEN IS NULL THEN "НЕ оперировался" ELSE "Оперировался" AS ГруппаПациентов, Пациент СписокПациентов LEFT JOIN СписокОпераций ПО "Соединены один ко многим" В отчётнике колонки - ГруппаПациентов, строки - Пациенты. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 11:29 |
|
два запроса к одной таблице сделать в один запрос
|
|||
---|---|---|---|
#18+
RphoenixМне нужно разделить в запросе на оперированных и нет. ...параметры выборки.... - это дата выписки, отделение и т.д. Код: plsql 1. 2. 3. 4. 5. 6. 7.
Какое-то масло масляное. Код: plsql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 12:08 |
|
два запроса к одной таблице сделать в один запрос
|
|||
---|---|---|---|
#18+
Rphoenix, FB2.5+Excel. Пиши хранимку или execute block. Транспонирование данных запроса в Экселе непростой путь. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 12:17 |
|
два запроса к одной таблице сделать в один запрос
|
|||
---|---|---|---|
#18+
Парни, от него надо таки добиться, что же в этом списке книг, тьфу, поциентов является опорным наброром. Книги, поциенты, операции? Т.е. сколько строк и на основании чего должно быть в ответе. А насытить потом эти строки нужными колонками после этого будет уже делом техники.)) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 12:20 |
|
два запроса к одной таблице сделать в один запрос
|
|||
---|---|---|---|
#18+
А то вы свои джойны не туда (не в то место) сейчас ему понавставляете.))) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 12:22 |
|
два запроса к одной таблице сделать в один запрос
|
|||
---|---|---|---|
#18+
Vlad F, да нет там ничего опорного. Знаю я такие отчёты. Самому давали. Это по сути две разные таблички которые растут в высоту независимо. Их когда-то от руки заполняли, теперь вот автоматизировать решили. Проблема скорее в том в этом отчёте табличка одна и разлинеровка должна расти сразу для обоих столбцов. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 12:24 |
|
два запроса к одной таблице сделать в один запрос
|
|||
---|---|---|---|
#18+
Симонов Денис, Не, но погодь, пусть сам всеже ответит. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 12:29 |
|
два запроса к одной таблице сделать в один запрос
|
|||
---|---|---|---|
#18+
просто пусть тут полежит :) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Код: 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.
ROWNUMID1ID21122433954106512761887191182013921141026151127161229171330221423152416251728 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 12:29 |
|
два запроса к одной таблице сделать в один запрос
|
|||
---|---|---|---|
#18+
court, Тут что же тебе помойка? или нужник? =8-[ ] ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 12:49 |
|
два запроса к одной таблице сделать в один запрос
|
|||
---|---|---|---|
#18+
не, есть связь по ключу, номеру строки в ексельке. Это поле называется "u.nom_stroki". u.nomib - это номер истории. Запрос к процедуре выглядит так Код: sql 1. 2. 3. 4. 5. 6.
Выводит всех (оперированных и нет). Поле "u.gp" определяет, была или нет операция (смотрите скрин). Сама процедура все отрабатывает за исключением того, что нужно правильно разбить на два столбика u.nomib - была/не было операции (по u.gp). ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 13:27 |
|
два запроса к одной таблице сделать в один запрос
|
|||
---|---|---|---|
#18+
Rphoenix, Ты вот с кем, милый друг, сейчас разговариваешь? Давай еще раз, упомянутый список1 (пациенты?) имеет внутри по одной строке на каждого пациента? В выходных данных тебе надо ровно столько строк, сколько в списке1? ОН опорный? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 13:36 |
|
два запроса к одной таблице сделать в один запрос
|
|||
---|---|---|---|
#18+
Vlad F, nomib - это пациенты (их номера); gp - оперировался или нет; nom_stroki - опорный. Нужно разбивку nomib сделать на два поля, в одном оперированные, а во втором нет (по gp) по полю nom_stroki. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 13:42 |
|
два запроса к одной таблице сделать в один запрос
|
|||
---|---|---|---|
#18+
Rphoenix, вот здесь 21760313 ответ схематично как-то вот так --курсор1 - оперировались --курсор2 - не оперировались цикл(True) fio1=null; fio2=null получить запись из курсора1 получить запись из курсора2 если не получили запись из курсора1 и не получили запись из курсора2 то выход из цикла suspend; конец цикла зы. ну конечно надо еще учесть смену диагноза, и что там еще ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 13:48 |
|
два запроса к одной таблице сделать в один запрос
|
|||
---|---|---|---|
#18+
RphoenixПолучается, лучше настроить правильный вывод в ексельку через несколько запросов? Раньше был один столбик, а сейчас нужно стало два. Да. Просто один запрос привяжи к первой колонке, а второй - ко второй. Ты вообще экселем-то пользоваться умеешь?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 13:52 |
|
два запроса к одной таблице сделать в один запрос
|
|||
---|---|---|---|
#18+
Rphoenix, Милый друг, ты не медик случайно по образованию? Все это напоминает старинную интермедию Винакура про посещение поликлиники в части визита к "неврипитологу". У меня даже глаз уже также дергается. Я, так и быть, помогу разбить твоих поциентов на прооперированных и недооперированных если ты мне совершенно точно, буква в букву ответишь вот на этот вопрос 21764013 без привлечения всяких скушных ном_строки и т.д. P.S.Не доводи до греха. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 14:11 |
|
два запроса к одной таблице сделать в один запрос
|
|||
---|---|---|---|
#18+
KreatorXXIТранспонирование данных запроса в Экселе непростой путь.Чё это? Как раз самый простой. Ctrl+C, "Специальная вставка" + флажок "транспонировать". ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 14:44 |
|
два запроса к одной таблице сделать в один запрос
|
|||
---|---|---|---|
#18+
WildSeryKreatorXXIТранспонирование данных запроса в Экселе непростой путь.Чё это? Как раз самый простой. Ctrl+C, "Специальная вставка" + флажок "транспонировать". Это понятно. Но ТС пишет запрос в Экселе, который превращается в некую таблицу. А её нужно преобразовать. Слово "транспонироаать" не совсем то. Я подразумевал - превратить данные из запроса в шахматку, допустим, из двух полей. Если есть "отчётник", который это может сделать это одно. А Эксель? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 15:31 |
|
два запроса к одной таблице сделать в один запрос
|
|||
---|---|---|---|
#18+
KreatorXXIЯ подразумевал - превратить данные из запроса в шахматку, допустим, из двух полей. Если есть "отчётник", который это может сделать это одно. А Эксель? А Ёксель как раз и есть такой отчётник. Поэтому я и спросил ТСа умеет ли он вообще им пользоваться. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 15:47 |
|
два запроса к одной таблице сделать в один запрос
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovА Ёксель как раз и есть такой отчётник. Поэтому я и спросил ТСа умеет ли он вообще им пользоваться. +1. Хоть по спирали можно значения вывести. Я программист, я так вижу (ц). ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 16:04 |
|
|
start [/forum/topic.php?fid=40&msg=39747804&tid=1560875]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
83ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 181ms |
0 / 0 |