Скрипт выгрузки льготников (чернобыльцев), получивших амбулаторную помощь: различия между версиями

Материал из Wiki МИАЦ ВО
Перейти к навигации Перейти к поиску
(Новая страница: «<PRE> set datetemp=start.tmp @echo .>"C:\client\my_scripts\Talanova\1kv2015\%DATETEMP%" "\\TS\MySQL\bin\mysql.exe" --host=10.35.0.93 --default-character-set cp125…»)
 
Строка 10: Строка 10:
 
<Pre>
 
<Pre>
 
SELECT people.UNICOD, people.birthDate,tmp.id,CASE WHEN tmp.numberPolis <> '' THEN tmp.numberPolis ELSE 'Не найдено'  END AS Полис,
 
SELECT people.UNICOD, people.birthDate,tmp.id,CASE WHEN tmp.numberPolis <> '' THEN tmp.numberPolis ELSE 'Не найдено'  END AS Полис,
   people_document.NAME, office.name AS 'ЛПУ', privelege.name AS 'Наименование льготы',  privelege.codOut,  privelege.cod,
+
   people_document.NAME, privelege.name AS 'Наименование льготы',  privelege.codOut,  privelege.cod, uslugappl.sDate AS 'Дата посещения',
  dynpeople.sDate AS 'Дата начала лечения',
+
   uslugappl.eDate AS 'Завершено посещение', uslugappl.idlpu AS IDLPU, office.name AS 'ЛПУ', uslugappl.codDS
   dynpeople.eDate AS 'Дата окончания лечения', dynpeople.idlpu AS IDLPU, dynpeople.codDS
+
FROM uslugappl
FROM dynpeople
 
 
   LEFT OUTER JOIN (SELECT
 
   LEFT OUTER JOIN (SELECT
 
       people_polis_1.numberPolis,
 
       people_polis_1.numberPolis,
Строка 21: Строка 20:
 
       people_polis_1.idlpu
 
       people_polis_1.idlpu
 
     FROM people_polis people_polis_1) tmp
 
     FROM people_polis people_polis_1) tmp
     ON tmp.id = dynpeople.idPeople AND tmp.idlpu = dynpeople.idlpu AND tmp.sDatePolis < dynpeople.sDate AND tmp.eDatePolis >= dynpeople.sDate
+
     ON tmp.id = uslugappl.idPeople AND tmp.idlpu = uslugappl.idlpu AND tmp.sDatePolis < uslugappl.sDate AND tmp.eDatePolis >= uslugappl.sDate
 
   RIGHT OUTER JOIN people_lgot
 
   RIGHT OUTER JOIN people_lgot
 
     ON people_lgot.id = tmp.id AND people_lgot.idlpu = tmp.idlpu
 
     ON people_lgot.id = tmp.id AND people_lgot.idlpu = tmp.idlpu
Строка 27: Строка 26:
 
     ON people_lgot.idLgot = privelege.unicod
 
     ON people_lgot.idLgot = privelege.unicod
 
   RIGHT OUTER JOIN people
 
   RIGHT OUTER JOIN people
     ON people_lgot.idlpu = people.idlpu AND people_lgot.id = people.unicod AND dynpeople.idPeople = people.unicod AND dynpeople.idlpu = people.idlpu
+
     ON people_lgot.idlpu = people.idlpu AND people_lgot.id = people.unicod AND uslugappl.idPeople = people.unicod AND uslugappl.idlpu = people.idlpu
 
   LEFT OUTER JOIN people_document
 
   LEFT OUTER JOIN people_document
 
     ON people.idlpu = people_document.idlpu AND people.unicod = people_document.id
 
     ON people.idlpu = people_document.idlpu AND people.unicod = people_document.id
 
LEFT OUTER JOIN office
 
LEFT OUTER JOIN office
 
   ON office.idlpu=tmp.idlpu AND office.statusLPU=1
 
   ON office.idlpu=tmp.idlpu AND office.statusLPU=1
WHERE (dynpeople.NHist IS NOT NULL) AND privelege.codOut = '010' AND (year(dynpeople.edate) = 2015) AND (month(dynpeople.edate) < 4)
+
WHERE privelege.codOut = '010' AND uslugappl.YED = 2015 AND MONTH(uslugappl.eDate) < 4
ORDER BY people.UNICOD;
+
ORDER BY people.UNICOD
 
</Pre>
 
</Pre>

Версия 20:06, 1 апреля 2015

set datetemp=start.tmp
@echo .>"C:\client\my_scripts\Talanova\1kv2015\%DATETEMP%"
"\\TS\MySQL\bin\mysql.exe" --host=10.35.0.93 --default-character-set cp1251 --character-sets-dir "\\TS\MySQL\bin\share\charsets " --database  statistics -udas -p12qwasZX < "C:\client\my_scripts\Talanova\1kv2015\policl_1kv2015.sql" >pol_31-03-2015n.res
set datetemp=stop.tmp
@echo .>"C:\client\my_scripts\Talanova\1kv2015\%DATETEMP%"
SELECT people.UNICOD, people.birthDate,tmp.id,CASE WHEN tmp.numberPolis <> '' THEN tmp.numberPolis ELSE 'Не найдено'  END AS Полис,
  people_document.NAME, privelege.name AS 'Наименование льготы',  privelege.codOut,  privelege.cod,  uslugappl.sDate AS 'Дата посещения',
  uslugappl.eDate AS 'Завершено посещение', uslugappl.idlpu AS IDLPU, office.name AS 'ЛПУ', uslugappl.codDS
FROM uslugappl
  LEFT OUTER JOIN (SELECT
      people_polis_1.numberPolis,
      people_polis_1.sDatePolis,
      people_polis_1.eDatePolis,
      people_polis_1.id,
      people_polis_1.idlpu
    FROM people_polis people_polis_1) tmp
    ON tmp.id = uslugappl.idPeople AND tmp.idlpu = uslugappl.idlpu AND tmp.sDatePolis < uslugappl.sDate AND tmp.eDatePolis >= uslugappl.sDate
  RIGHT OUTER JOIN people_lgot
    ON people_lgot.id = tmp.id AND people_lgot.idlpu = tmp.idlpu
  LEFT OUTER JOIN privelege
    ON people_lgot.idLgot = privelege.unicod
  RIGHT OUTER JOIN people
    ON people_lgot.idlpu = people.idlpu AND people_lgot.id = people.unicod AND uslugappl.idPeople = people.unicod AND uslugappl.idlpu = people.idlpu
  LEFT OUTER JOIN people_document
    ON people.idlpu = people_document.idlpu AND people.unicod = people_document.id
LEFT OUTER JOIN office
  ON office.idlpu=tmp.idlpu AND office.statusLPU=1
WHERE privelege.codOut = '010' AND uslugappl.YED = 2015 AND MONTH(uslugappl.eDate) < 4
ORDER BY people.UNICOD