Выясните наибольшую среди доступных дат для записи, затем сопоставьте выходные данные с другими подобными выходными данными, чтобы найти наибольшую среди всех

У меня 6 столов, с учетная запись в качестве общего ключа в 5 из этих таблиц и Я бы быть общим ключом для всех этих таблиц.

5 из которых имеют 4-5 полей даты. Теперь моя задача — найти наибольшую дату, доступную для записи в таблице, используя условие where: Я бы = 10. Теперь аналогичным образом найдите наибольшую дату для той же записи во всех других таблицах. Во всех таблицах нет таких ограничений, как учетная запись должен быть одинаковым номером, он может отличаться для одного и того же Я бы во всех разных таблицах.

Теперь я должен найти соответствующий учетная запись который имеет макс. значение даты среди всех, соответствующих Я бы Значение прошло.

Пожалуйста помоги!!

0

Решение

SELECT
max(convert varchar, acct.account_date, 101)
FORM
account acct
WHERE
acct.id = (SELECT acct.id FROM id_tlb WHERE acct.id = 'something')

Вам, вероятно, не нужно будет конвертировать дату там, но это поможет вам получить mm/dd/yyyy формат для отметки времени.

Ответьте, если вам нужно что-то еще.

0

Другие решения

Проверьте это … запрос выглядит плохо, потому что я думаю, что дизайн таблицы / требование конфликта.

select max(dateB) AS max_date FROM
(
select max(dateA) AS dateB FROM
(
select date1 AS dateA  from tb1 where id = 10
union
select date2 AS dateA from tb1 where id = 10
union
select date3 AS dateA from tb1 where id = 10
union
select date4 AS dateA from tb1 where id = 10
)
UNION
select max(dateA) AS dateB FROM
(
select date1 AS dateA  from tb2 where id = 10
union
select date2 AS dateA from tb2 where id = 10
union
select date3 AS dateA from tb2 where id = 10
union
select date4 AS dateA from tb2 where id = 10
)
UNION
select max(dateA) AS dateB FROM
(
select date1 AS dateA  from tb3 where id = 10
union
select date2 AS dateA from tb3 where id = 10
union
select date3 AS dateA from tb3 where id = 10
union
select date4 AS dateA from tb3 where id = 10
)
UNION
select max(dateA) AS dateB FROM
(
select date1 AS dateA  from tb4 where id = 10
union
select date2 AS dateA from tb4 where id = 10
union
select date3 AS dateA from tb4 where id = 10
union
select date4 AS dateA from tb4 where id = 10
)
)
0

Да, наконец-то.

выберите дату1, учетную запись из таблицы1, где id = ‘X’
объединить всех
выберите дату2, учетную запись из таблицы1, где id = ‘X’
объединить всех
выберите дату3, учетную запись из таблицы1, где id = ‘X’
объединить всех
выберите дату4, учетную запись из таблицы2, где id = ‘X’
объединить всех
выберите дату5, счет из таблицы2, где id = ‘X’
объединить всех
выберите дату6, учетную запись из таблицы2, где id = ‘X’
объединить всех
выберите дату7, счет из таблицы3, где id = ‘X’
объединить всех

выберите дату8, счет из таблицы3, где id = ‘X’

——

——

упорядочить по дате 1 по лимиту 1;

Надеюсь, что это поможет другим сейчас.

0
По вопросам рекламы [email protected]