|
Объединение таблиц с условием
|
|||
---|---|---|---|
#18+
Приветствую всех. Не могу решить небольшую задачку. Есть две таблицы(мфц и тосп) Нужно посчитать разницу кол-ва услуг м/у мфц и тосп. Получилось сделать только вывод тех полей которые совпадают в таблице, а тех что не совпадает пишет пустой результат. Прошу помощи. Базу приложил. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 07:46 |
|
Объединение таблиц с условием
|
|||
---|---|---|---|
#18+
Скорее всего у вас некоторые поля пустые, тогда их нужно обрамить в Nz, как то примерно вот так: SELECT DISTINCT мфц.Услуга, Nz([мфц]![Количество],0)-Nz([тосп]![Количество],0) AS Разница FROM мфц LEFT JOIN тосп ON мфц.Услуга = тосп.Услуга; ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 08:08 |
|
Объединение таблиц с условием
|
|||
---|---|---|---|
#18+
спасибо за помощь. тут усложнили задачу, у нас несколько таких тоспов пробую сначала суммировать тоспы а потом вычитать из мфц, опять нулевые строки выводит и при суммировании количества услуг в тоспах тоже выодит не все значения ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 08:32 |
|
Объединение таблиц с условием
|
|||
---|---|---|---|
#18+
Lastig, Архив, чей та не открывается. Наверное сначала нужно в одном запросе сложить все тоспы, а потом данный запрос указывать во втором запросе вместо первой таблицы? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 08:41 |
|
Объединение таблиц с условием
|
|||
---|---|---|---|
#18+
суммирование тоспов тоже не все строки выводит ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 08:46 |
|
Объединение таблиц с условием
|
|||
---|---|---|---|
#18+
Lastig, Зачем столько однотипных таблиц? Я бы вот наверное в табл. тосп добавил еще 1 поле, - Тип или Номер и групприровал по нему. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 09:00 |
|
Объединение таблиц с условием
|
|||
---|---|---|---|
#18+
это мне присылают из разных районов таблицы с отчетами и мне их надо объединить ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 09:01 |
|
Объединение таблиц с условием
|
|||
---|---|---|---|
#18+
Lastig, А если их будет 100 районов? трудно представить. Ну да вот накидал, может так: Точно или нет, сказать не могу, т. к. у меня Акс 2000 и не все Аксы 2007-10 открываются, делал в конструкторе. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 09:13 |
|
Объединение таблиц с условием
|
|||
---|---|---|---|
#18+
Чей та файл не приложился. Попробуйте создать такие 2 запроса: Тоспы SELECT тосп.Услуга, Nz([тосп]![Количество],0)+Nz([тосп2]![Количество],0)+Nz([тосп3]![Количество],0)+Nz([тосп4]![Количество],0) AS Сумма FROM ((тосп LEFT JOIN тосп2 ON тосп.Услуга=тосп2.Услуга) LEFT JOIN тосп3 ON тосп2.Услуга=тосп3.Услуга) LEFT JOIN тосп4 ON тосп3.Услуга=тосп4.Услуга; и Разница SELECT DISTINCT мфц.Услуга, Nz([мфц]![Количество],0)-(Nz([Тоспы]![Сумма],0)) AS Разница FROM мфц LEFT JOIN Тоспы ON мфц.Услуга = Тоспы.Услуга; ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 09:16 |
|
Объединение таблиц с условием
|
|||
---|---|---|---|
#18+
SELECT тосп.Услуга, Nz([тосп]![Количество],0)+Nz([тосп2]![Количество],0)+Nz([тосп3]![Количество],0)+Nz([тосп4]![Количество],0) AS Сумма FROM ((тосп LEFT JOIN тосп2 ON тосп.Услуга=тосп2.Услуга) LEFT JOIN тосп3 ON тосп2.Услуга=тосп3.Услуга) LEFT JOIN тосп4 ON тосп3.Услуга=тосп4.Услуга; так считает только те усдуги которе есть в 1 таблице(тосп) их там 19 а во второй уже 22, но итоговая все равно 19 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 09:29 |
|
Объединение таблиц с условием
|
|||
---|---|---|---|
#18+
Сначала составьте запрос, который собирает все возможные услуги из всех таблиц. Типа Код: sql 1. 2. 3. 4. 5. 6. 7.
И только потом привязывайте к результату левым связыванием отдельные таблицы (МФЦ и все либо только нужные ТОСП). Если же нужно получить разницу между МФЦ и суммарно, а не по отдельности, всеми ТОСП, то составьте запрос, который суммирует услуги всех ТОСПов (используя первый запрос и все таблицы ТОСП), а потом вяжите его и таблицу МФЦ к первому запросу. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 09:41 |
|
Объединение таблиц с условием
|
|||
---|---|---|---|
#18+
Ещё лучше - если данные нормализовать. Для чего, во-первых, вынести услуги в отдельную таблицу, во-вторых, собрать все данные по количеству в одну таблицу, добавив поле, идентифицирующее предоставляющую организацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 09:43 |
|
Объединение таблиц с условием
|
|||
---|---|---|---|
#18+
Lastig, я бы видимо сделала так(через объединение или рабочую таблицу)+перекрестный запрос Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
(Кадастр.) Государственная услуга по предоставлени1(Кадастр.) Государственная услуга по предоставлению сведений, содержащихся в Едином государственном реестре прав на недвижимое имущество и сделок с ним8(Росреестр) Государственная услуга по предоставлению сведений, содержащихся в Едином государственном реестре прав на недвижимое имущество и сделок с ним341Выдача градостроительных планов1Выдача градостроительных планов земельных участков на территории Владивостокского городского округа, Артемовского городского округа, Надеждинского муниципального района, Шкотовского муниципального района2111Выдача документа о присвоении наименований улицам, площадям и иным территориям проживания граждан в Артемовском городском округе, а также об установлении нумерации домов, расположенных на территории городского округа1Выдача простой электронной подписи (ПЭП)63274Выдача разрешений на строительство1611Выдача свидетельства ИНН20622Выдача СНИЛС21Выдача справок о наличии (отсутствии) судимости и 12Выдача справок о наличии (отсутствии) судимости и (или) факта уголовного преследования либо о прекращении уголовного преследования6012Выдача, замена паспорта гражданина Российской Федерации, удостоверяющего личность гражданина Российской Федерации на территории Российской Федерации24211Государственная услуга по государственной регистра9Государственная услуга по государственной регистрации прав на недвижимое имущество и сделок с ним43811221Государственная услуга по государственной регистрации юридических лиц, физических лиц в качестве индивидуальных предпринимателей и крестьянских (фермерских) хозяйств3......Регистрация многодетных семей на территории Примор1Регистрация многодетных семей на территории Приморского края1Утверждение схемы расположения земельного участка или земельных участков, находящихся в ведении или собственности Приморского края, на кадастровом плане территории12 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 09:45 |
|
Объединение таблиц с условием
|
|||
---|---|---|---|
#18+
LastigSELECT тосп.Услуга, Nz([тосп]![Количество],0)+Nz([тосп2]![Количество],0)+Nz([тосп3]![Количество],0)+Nz([тосп4]![Количество],0) AS Сумма FROM ((тосп LEFT JOIN тосп2 ON тосп.Услуга=тосп2.Услуга) LEFT JOIN тосп3 ON тосп2.Услуга=тосп3.Услуга) LEFT JOIN тосп4 ON тосп3.Услуга=тосп4.Услуга; так считает только те усдуги которе есть в 1 таблице(тосп) их там 19 а во второй уже 22, но итоговая все равно 19 так попробуйте Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 09:46 |
|
Объединение таблиц с условием
|
|||
---|---|---|---|
#18+
Lastig, не туда залетела первая строка Услугаmfcтосптосп2тосп3тосп4(Кадастр.) Государственная услуга по предоставлени1(Кадастр.) Государственная услуга по предоставлению сведений, содержащихся в Едином государственном реестре прав на недвижимое имущество и сделок с ним8 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 09:48 |
|
Объединение таблиц с условием
|
|||
---|---|---|---|
#18+
Lastig, или [мфц Запрос2] Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Код: sql 1. 2. 3. 4. 5.
Услугаразница мфс и тосппримечание(Кадастр.) Государственная услуга по предоставлени-1нет в мфц(Кадастр.) Государственная услуга по предоставлению сведений, содержащихся в Едином государственном реестре прав на недвижимое имущество и сделок с ним8(Росреестр) Государственная услуга по предоставлению сведений, содержащихся в Едином государственном реестре прав на недвижимое имущество и сделок с ним33Выдача градостроительных планов1Выдача градостроительных планов земельных участков на территории Владивостокского городского округа, Артемовского городского округа, Надеждинского муниципального района, Шкотовского муниципального района19Выдача документа о присвоении наименований улицам, площадям и иным территориям проживания граждан в Артемовском городском округе, а также об установлении нумерации домов, расположенных на территории городского округа1Выдача простой электронной подписи (ПЭП)50Выдача разрешений на строительство14Выдача свидетельства ИНН10Выдача СНИЛС1Выдача справок о наличии (отсутствии) судимости и -12нет в мфцВыдача справок о наличии (отсутствии) судимости и (или) факта уголовного преследования либо о прекращении уголовного преследования57Выдача, замена паспорта гражданина Российской Федерации, удостоверяющего личность гражданина Российской Федерации на территории Российской Федерации20Государственная услуга по государственной регистра-9нет в мфцГосударственная услуга по государственной регистрации прав на недвижимое имущество и сделок с ним404Государственная услуга по государственной регистрации юридических лиц, физических лиц в качестве индивидуальных предпринимателей и крестьянских (фермерских) хозяйств3Государственная услуга по государственному кадастр-2нет в мфц ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 09:58 |
|
Объединение таблиц с условием
|
|||
---|---|---|---|
#18+
уже куда то далеко полезли))) мне гнадо просто посчитать сумму всех услуг на тоспах и отнять её из мфц))) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 10:07 |
|
Объединение таблиц с условием
|
|||
---|---|---|---|
#18+
Lastig...уже куда то далеко полезли... Тогда, что бы без всяких там костылей в виде сверхсложных запросов, нужно как уже писалось выше - нормализовать БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 10:24 |
|
Объединение таблиц с условием
|
|||
---|---|---|---|
#18+
совместными усилиями вот что получилось еще бы нулевые строки не отображались ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 10:36 |
|
Объединение таблиц с условием
|
|||
---|---|---|---|
#18+
Lastig, При отсутствии внятного ТЗ и непонятных сокращений в именах таблиц, можно предположить что наверное нужно сотворять БД по вот такой схеме, возиожно цены на услуги надо отразить. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 10:42 |
|
|
start [/forum/topic.php?fid=45&msg=39163446&tid=1613959]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 331ms |
total: | 472ms |
0 / 0 |