У меня 6 столов, с учетная запись в качестве общего ключа в 5 из этих таблиц и Я бы быть общим ключом для всех этих таблиц.
5 из которых имеют 4-5 полей даты. Теперь моя задача — найти наибольшую дату, доступную для записи в таблице, используя условие where: Я бы = 10. Теперь аналогичным образом найдите наибольшую дату для той же записи во всех других таблицах. Во всех таблицах нет таких ограничений, как учетная запись должен быть одинаковым номером, он может отличаться для одного и того же Я бы во всех разных таблицах.
Теперь я должен найти соответствующий учетная запись который имеет макс. значение даты среди всех, соответствующих Я бы Значение прошло.
Пожалуйста помоги!!
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
формат для отметки времени.
Ответьте, если вам нужно что-то еще.
Проверьте это … запрос выглядит плохо, потому что я думаю, что дизайн таблицы / требование конфликта.
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
)
)
Да, наконец-то.
выберите дату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’
объединить всех
упорядочить по дате 1 по лимиту 1;
Надеюсь, что это поможет другим сейчас.