Мне нужна помощь в поиске в нашей базе данных. Таким образом, у нас возникла проблема: нам нужно знать все таблицы с именем столбца "sysmodified" и посмотреть, есть ли какие-либо записи до определенной даты (25 сентября 2019 года).
Я попытался найти ответв google и stackoverflow, но я либо получаю ответ, как получить результаты до 25 сентября в 1 таблице Example1 , либо результаты, как получить все таблицы, которые имеют это column_name Example2 .
Используя код, который у меня есть (см. Ниже), мы знаем, что есть 325 таблиц, которые содержат имя столбца "sysmodified". Я мог вручную использовать пример 1 для получения моей информации, но я надеялся получить способ получить нужные мне результаты всего одним запросом.
Это то, что у меня есть:
USE [database2]
GO
SELECT t.name AS table_name,
SCHEMA_NAME(schema_id) AS schema_name,
c.name AS column_name
FROM sys.tables AS t
INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID
WHERE c.name LIKE '%sysmodified%'
ORDER BY schema_name, table_name;
Однако, если я попытаюсь ввести что-то вроде sysmodified <'20190925'. Я получаю ошибки </p>
WHERE c.name LIKE '%sysmodified%'
AND t.sysmodified < '20190925'
или этот подход, который также приводит к ошибкам
SELECT t.name AS table_name, sysmodified,
на основе (но я не могу добавить 325 имен столбцов в FROM?)
SELECT
title,
primary_author,
published_date
FROM
books
WHERE
title LIKE 'The%'
Надеюсь, кто-нибудь сможет мне помочь с решением этой проблемы. Мы используем Microsoft SQL Server Management Studio 17 (если это возможно).