Mam bazę danych z 69 tabelami i chcę wybrać tylko pierwsze trzy rekordy z każdej tabeli.Wybierz pierwsze 3 wiersze każdej tabeli w bazie danych
mogę to zrobić za stołem z:
SELECT TOP 3 *
FROM table_schema.table_name
Jednak gdybym miał to zrobić ręcznie, zajęłoby dużo czasu.
Czy możesz zaproponować obejście problemu?
Próbowałem this solution ale mogę zmusić go do pracy (nie wiem, jak go zmodyfikować dla MSSQL)
EDYCJA Dzięki za odpowiedzi. Prawdopodobnie nie byłem wystarczająco jasny: chciałem przeanalizować każdy pojedynczy stół i zdobyć tylko 3 najlepsze rekordy, niż przejść do następnego. kod Jarosław jest poniżej jest to, co potrzebne
DECLARE @sql VARCHAR(MAX)='';
SELECT @[email protected]+'SELECT TOP 3 * FROM '+'['+SCHEMA_NAME(schema_id)+'].['+name+']'+';'
FROM sys.tables
EXEC(@sql)
trzech pierwszych zapisów zgodnie z tym co ?, kolumna tabeli nie posiada naturalny porządek * * lub coś w ten sposób – Lamak