powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / статистическая выборка из 2х таблиц
39 сообщений из 39, показаны все 2 страниц
статистическая выборка из 2х таблиц
    #32694553
Pretorian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SELECT Hotels.hotelName, (select count( [Groupes]![groupId] ) FROM Hotels INNER JOIN Groupes ON Hotels.hotelId = Groupes.groupHotelName WHERE (((([Groupes]![groupDateDepar])-([Groupes]![groupDateArrive]))<7) and ((Groupes.groupDateArrive)>=[Forms]![frmNomera2]![Text1] And (Groupes.groupDateArrive)<=[Forms]![frmNomera2]![Text3]) AND ((Groupes.groupAnnulee)=0)) HAVING (((Hotels.hotelId)=[Forms]![frmNomera2]![roll13]))) AS menshe7
FROM Hotels INNER JOIN Groupes ON Hotels.hotelId = Groupes.groupHotelName
WHERE (((Groupes.groupDateArrive)>=[Forms]![frmNomera2]![Text1] And (Groupes.groupDateArrive)<=[Forms]![frmNomera2]![Text3]) AND ((Groupes.groupAnnulee)=0))
GROUP BY Hotels.hotelName, Hotels.hotelId
HAVING (((Hotels.hotelId)=[Forms]![frmNomera2]![roll13]));

таблица Отели и таблица Группы
с помощью этого запроса и нехитрой формы можно поглядеть, сколько групп, приезжающих в рамках определенного периода, провели в конкретном отеле меньше 7 дней

а как бы сделать так, чтобы можно было сделать выборку по всем отелям?

то есть для каждого отеля посмотреть, сколько групп, приезжающих в рамках определенного периода, провели в нем меньше 7 дней

списочек эдакий поиметь
а в форму вводить только две даты, ограничивающие период
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32694557
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А если просто убрать условие на Hotels.hotelId, что получается?
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32694565
Pretorian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
откуда?
из запроса или из подзапроса?
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32694577
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Отовсюду.
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32694580
Pretorian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если убрать оба HAVING, то он выдает вместо суммы по каждому отелю - в каждом отеле одну и ту же сумму
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32694612
Pretorian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и как быть?...
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32694623
Pretorian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может файлик заслать?
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32694660
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
select  Hotels.hotelName,count(Groupes.groupId) as AS menshe7
FROM Hotels INNER JOIN Groupes ON Hotels.hotelId = Groupes.groupHotelName 
WHERE ([Groupes]![groupDateDepar]-[Groupes]![groupDateArrive]< 7 ) 
 and ((Groupes.groupDateArrive)>=[Forms]![frmNomera2]![Text1] And (Groupes.groupDateArrive)<=[Forms]![frmNomera2]![Text3]) 
 AND ((Groupes.groupAnnulee)= 0 ))
GROUP BY Hotels.hotelName, Hotels.hotelId
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32694664
Pretorian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
работает
но не катит
подзапрос там был не случайно
ведь, например, нужно не только <7, но и <12 и =12 и т. п.
и все в одной строке, напротив каждого отеля
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32694675
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pretorianработает
но не катит
подзапрос там был не случайно
ведь, например, нужно не только <7, но и <12 и =12 и т. п.
и все в одной строке, напротив каждого отеля

Может он там и не случайно, но абсолютно не нужен
авторпровели в конкретном отеле меньше 7 дней разве это я писал ?
авторведь, например, нужно не только <7, но и <12 и =12 и т. п.
Так сделай параметром
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32694676
Pretorian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
какая-то магия...
я плохо шарю в подзапросах, но тут просто фантастиш
не хочет никак работать
если делать подзапросом - гарантированно выдает одну и ту же цифру на все отели
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32694678
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(c)VIGразве это я писал ?

К VIG'овским запросам, как следует не разобравшись, близко не подходи
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32694679
Pretorian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(c)VIG, параметром? Это как?
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32694688
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pretorian(c)VIG, параметром? Это как?
Код: plaintext
1.
WHERE ([Groupes]![groupDateDepar]-[Groupes]![groupDateArrive]<Forms]![frmNomera2]![Здесь_
должно_быть_имя_контрола_в_котором_задается_нужный_интервал])
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32694692
Pretorian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2(c)VIG
кто такой контрол и где его потом указывать?
если не влом, приведи плз пример, когда есть больше одного поля (например >7 и =12)
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32694695
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Pretorianкто такой контрол и где его потом указывать?
У тебя же самого: [Forms]![frmNomera2]![Text3]
Вот точно так же.
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32694697
Pretorian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
видимо, я плохо объясняю 8(

этих штук нет в форме
они жесткие
и задаются в подзапросе (теоретически)
надо на выходе - так как в рисунке
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32694699
Pretorian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это нарисовано в фотошопе 8)
так у меня еще не получалось...

короче, если глянуть на первый запрос в этом посте, и предположить, что подзапросов там два, а отели - все
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32694700
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pretorianкто такой контрол и где его потом указывать?

Как по русски не знаю, а с английского не переводится
авторкогда есть больше одного поля (например >7 и =12)
Не понял. Насколько я помню арифметику, 12 > 7 и автоматически соответствует условию >7
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32694701
Pretorian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и контрол ентот...
он ведь все равно только на одно поле влияет?
а мне несколько полей нужно
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32694702
Pretorian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(c)VIG
это не важно
например <7 и >12
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32694703
Pretorian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нужно несколько полей с разной выборкой
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32694704
Pretorian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
например так:

SELECT Hotels.hotelName, (select count( [Groupes]![groupId] ) FROM Hotels INNER JOIN Groupes ON Hotels.hotelId = Groupes.groupHotelName WHERE (((([Groupes]![groupDateDepar])-([Groupes]![groupDateArrive]))<7) and ((Groupes.groupDateArrive)>=[Forms]![frmNomera2]![Text1] And (Groupes.groupDateArrive)<=[Forms]![frmNomera2]![Text3]) AND ((Groupes.groupAnnulee)=0)) HAVING (((Hotels.hotelId)=[Forms]![frmNomera2]![roll13]))) AS menshe7, (select count( [Groupes]![groupId] ) FROM Hotels INNER JOIN Groupes ON Hotels.hotelId = Groupes.groupHotelName WHERE (((([Groupes]![groupDateDepar])-([Groupes]![groupDateArrive]))>=8) and ((([Groupes]![groupDateDepar])-([Groupes]![groupDateArrive]))<=13) and ((Groupes.groupDateArrive)>=[Forms]![frmNomera2]![Text1] And (Groupes.groupDateArrive)<=[Forms]![frmNomera2]![Text3]) AND ((Groupes.groupAnnulee)=0)) HAVING (((Hotels.hotelId)=[Forms]![frmNomera2]![roll13]))) AS ot8do13
FROM Hotels INNER JOIN Groupes ON Hotels.hotelId = Groupes.groupHotelName
WHERE (((Groupes.groupDateArrive)>=[Forms]![frmNomera2]![Text1] And (Groupes.groupDateArrive)<=[Forms]![frmNomera2]![Text3]) AND ((Groupes.groupAnnulee)=0))
GROUP BY Hotels.hotelName, Hotels.hotelId
HAVING (((Hotels.hotelId)=[Forms]![frmNomera2]![roll13]));

но только отель не должен выбираться
должны быть все отели
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32694708
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
select  Hotels.hotelName,count(g1.groupId) as AS menshe7,count(g2.groupId) as AS ravno12
FROM Hotels INNER JOIN Groupes as g1 ON Hotels.hotelId = g1.groupHotelName
INNER JOIN  Groupes g2 on Hotels.hotelId = g2.groupHotelName
WHERE ([g1]![groupDateDepar]-[g1]![groupDateArrive]< 7 )
 and ((g1.groupDateArrive)>=[Forms]![frmNomera2]![Text1] And 
g1.groupDateArrive)<=[Forms]![frmNomera2]![Text3]) 
 AND ((g1.groupAnnulee)= 0 ))
and 
([g2]![groupDateDepar]-[g2]![groupDateArrive]= 12 ) 
 and ((g2.groupDateArrive)>=[Forms]![frmNomera2]![Text1] And 
(g2.groupDateArrive)<=[Forms]![frmNomera2]![Text3]) 
 AND ((g2.groupAnnulee)= 0 ))
GROUP BY Hotels.hotelName, Hotels.hotelId

P.S Старшие товарищи помогут правильно расставить скобки между INNER JOIN
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32694711
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
(c)VIGP.S Старшие товарищи помогут правильно расставить скобки между INNER JOIN
Я бы помог, но раз только старшие...
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32694713
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Саныч (c)VIGP.S Старшие товарищи помогут правильно расставить скобки между INNER JOIN
Я бы помог, но раз только старшие...
Я имел в виду не возраст, а положение в аксесовском бомонде :)
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32694719
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати , тут скорее д.б LEFT JOIN-ы
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32694724
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
(c)VIGЯ имел в виду не возраст, а положение в аксесовском бомонде :)
Ооо, тогда и подавно... :^)
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32694732
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Раз Саныч отказывается- "мы пойдем другим путем" (В.И. Ленин)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
SELECT Hotels.hotelName,
(select count (*) from Groupes as g
 where (g.groupHotelName=Hotels.hotelId )
    and  (g.groupDateDepar-g.groupDateArrive < 7 )
    and  (g.groupDateArrive>=[Forms]![frmNomera2]![Text1] )
    and  (g.groupDateArrive<=[Forms]![frmNomera2]![Text3] )
    and  (g.groupAnnulee= 0 )) as Less7,
(select count (*) from Groupes as g
 where (g.groupHotelName=Hotels.hotelId )
    and  (g.groupDateDepar-g.groupDateArrive = 12 )
    and  (g.groupDateArrive>=[Forms]![frmNomera2]![Text1] )
    and  (g.groupDateArrive<=[Forms]![frmNomera2]![Text3] )
    and  (g.groupAnnulee= 0 )) as ravno12
from Hotels
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32694749
Pretorian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ого 8)
пасиб
будем пробовать
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32694750
Pretorian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ураааааааааааааааааааааааааа!
it works!
(c)VIG, Владимир Саныч, спасибо за время, на меня потраченное 8)
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32694752
Pretorian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мега-крутая прога
теперь каждый ламер может иметь свою базу 8)
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32694765
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Pretorianураааааааааааааааааааааааааа!
it works!
(c)VIG, Владимир Саныч, спасибо за время, на меня потраченное 8)
От VIG'а пользы было больше. :^)
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32695432
Pretorian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Саныч, да, безусловно
но зачем так скромничать? 8)
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32701233
Pretorian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хех
запрос крут неимоверно 8)
можно и так и сяк наворачивать

но вот в отчет он не лезет никаким способом
сформированный отчет, открываясь, говорит следующее: "многоуровневое предложение GROUP BY не допускается в подчиненном отчете" и умирает на корню

8(
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32701294
Pretorian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И причем никакого group by в запросе нет
уже не первый раз сталкиваюсь с этой ошибкой
может и правда, какой-то баг в движке?
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32701412
Pretorian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хоть бы сообщение об ошибке было более осмысленным
а то фиг догадаешься, в чем дело
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32704220
Pretorian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кста, интересно было бы послушать отличие данного способа от Inner join
...
Рейтинг: 0 / 0
статистическая выборка из 2х таблиц
    #32709233
Pretorian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поможите, люди добрые 8)
никак не могу своим умом доползти
как бы эту штуку, которую VIG выдумал, в отчет засунуть:

SELECT Hotels.hotelName,
(select count (*) from Groupes as g
where (g.groupHotelName=Hotels.hotelId )
and (g.groupDateDepar-g.groupDateArrive <7)
and (g.groupDateArrive>=[Forms]![frmNomera2]![Text1] )
and (g.groupDateArrive<=[Forms]![frmNomera2]![Text3] )
and (g.groupAnnulee=0)) as Less7,
(select count (*) from Groupes as g
where (g.groupHotelName=Hotels.hotelId )
and (g.groupDateDepar-g.groupDateArrive =12)
and (g.groupDateArrive>=[Forms]![frmNomera2]![Text1] )
and (g.groupDateArrive<=[Forms]![frmNomera2]![Text3] )
and (g.groupAnnulee=0)) as ravno12
from Hotels
...
Рейтинг: 0 / 0
39 сообщений из 39, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / статистическая выборка из 2х таблиц
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]