powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите пожалуйста с задачей((
12 сообщений из 12, страница 1 из 1
Помогите пожалуйста с задачей((
    #40026233
Еленo4ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть следующая задача: дано 2 таблицы. В первой имена людей и их родственная связь по отношению ко мне. Во второй имена этих же людей и дата рождения. Найти людей, у которых уникальная родственная связь и они родились не сегодня.
Я решила данную задачу(именно условие на уникальность) с группировкой и подсчетом количества повторов.
Можно ли как-то решить эту задачу альтернативным способом(возможно без группировки) при помощи предиката exists?
...
Рейтинг: 0 / 0
Помогите пожалуйста с задачей((
    #40026237
НеофитSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Любая задача, объясненная на пальцах, может быть решена на пальцах. Но не всегда верно.

Приведите оригинал задачи дословно, лучше шансы правильного ответа.
...
Рейтинг: 0 / 0
Помогите пожалуйста с задачей((
    #40026247
Еленo4ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
НеофитSQL, скриншоты к сожалению не прикладываются из-за размера.
Таблица1(Родств)
Имя(IM)/Связь(SV):
Маша Тетя
Вика Сестра
Андрей Брат
Аня Сестра
Виктор Дедушка

Таблица2(Др):
Имя(IM2)/др (DR)
Маша 28.06.1984
Вика 04.07.1999
Андрей 23.04.2000
Аня 17.02.1998
Виктор 10.12.1960

Вот запрос: SELECT Родств.SV
FROM Родств
WHERE NOT EXISTS(SELECT DR FROM Др WHERE DAY(DATE())=DAY(DR) AND MONTH(DATE())=MONTH(DR) AND Родств.IM=Др.IM2)
GROUP BY Родств.SV
HAVING COUNT(Родств.SV)=1;

То есть в результате должны остаться Андрей и Маша, потому что у дедушки сегодня день рождения, а сестры повторяются.
Вот и надо каким-то альтернативным способом, тоже через exists, возможно с использованием виртуальных таблиц.
...
Рейтинг: 0 / 0
Помогите пожалуйста с задачей((
    #40026285
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
SELECT r1.*
FROM Родств r1
WHERE NOT EXISTS(SELECT DR FROM Др WHERE DAY(DATE())=DAY(DR) AND MONTH(DATE())=MONTH(DR) AND r1.IM=Др.IM2)
and not exists(select 1 from Родств r2 where r1.IM<>r2.IM and r1.SV=r2.SV)
...
Рейтинг: 0 / 0
Помогите пожалуйста с задачей((
    #40026304
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
SELECT T11.*
FROM (Таблица1 AS t11
LEFT JOIN Таблица1 AS t12 ON ((t11.IM<> t12.IN) AND (t11.SV = t12.SV)))
INNER JOIN Таблица2 AS t2 ON t11.IM = t2.IM2
WHERE (t12.IM IS NULL)
  AND ((DAY(t2.DR) <> DAY(DATE()) OR (MONTH(t2.DR) <> MONTH(DATE()))


PS. Постарался напихать скобочек, как Аксесс любит... правда, не знаю, преуспел ли.
...
Рейтинг: 0 / 0
Помогите пожалуйста с задачей((
    #40026315
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еленo4ka
... у которых уникальная родственная связь и они родились не сегодня....
Хотелось бы пояснений-что такое уникальная (ведь два и более братьев или сестер вполне возможны) родственная связь и как они могут родиться сегодня?
...
Рейтинг: 0 / 0
Помогите пожалуйста с задачей((
    #40026330
Еленo4ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku, день рождения вроде каждый год у людей)))
...
Рейтинг: 0 / 0
Помогите пожалуйста с задачей((
    #40026350
НеофитSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еленo4ka,

Ваш запрос 4 июля покажет слово "сестра", т.к. Вика в тот день исключится, а Аня останется единственной сестрой.

Если сестер никогда не надо показывать, то

Код: vbnet
1.
2.
3.
4.
5.
6.
SELECT Родств.SV
  FROM Родств
  JOIN Др ON Родств.IM=Др.IM2
 GROUP BY Родств.SV
HAVING COUNT(Родств.SV)=1 AND 
       NOT (DAY(DATE())=DAY(MAX(Др.DR)) AND MONTH(DATE())=MONTH(MAX(Др.DR)));
...
Рейтинг: 0 / 0
Помогите пожалуйста с задачей((
    #40026360
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еленo4ka
sdku, день рождения вроде каждый год у людей)))
день-конкретное число каждого месяца каждого года,а сегодня-конкретный день конкретного месяца и конкретного года.Так как быть если в один день родились 2-3 брата (двойня, тройня)?
...
Рейтинг: 0 / 0
Помогите пожалуйста с задачей((
    #40026363
Еленo4ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
court, спасибо большое, у вас самый идеальный вариант!
...
Рейтинг: 0 / 0
Помогите пожалуйста с задачей((
    #40026365
Еленo4ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina, спасибо большое)
...
Рейтинг: 0 / 0
Помогите пожалуйста с задачей((
    #40026438
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вариант:
1.Почему не такая схема данных
2.Если это просто "напоминалка", то их в сети воз и маленькая тележка
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите пожалуйста с задачей((
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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