Как само собой разумеется, я серьезный новичок, когда дело доходит до T-SQL, и использование SSMSE - не мой первый вариант, но я застрял с ним и плохо спроектированной базой данных. По сути, я пытаюсь вывести данные из нашей текущей базы данных, чтобы я мог загрузить их в наше новое программное обеспечение, и мне нужно сначала получить эти данные в управляемых файлах CSV.
Я пытаюсь переместить измерения, связанные с предметами в различных исследованиях, но данные лежат в нескольких таблицах. Таблицы следующие (первичные ключи указаны первыми):
CREATE TABLE Study (StudyID int, StudyName nvarchar(50))
CREATE TABLE Subject (SubjectID int, SubjectName nvarchar(20), StudyID int)
CREATE TABLE Implant (ImplantID int, ImplantName nvarchar(255), StudyID int)
CREATE TABLE Measurement (MeasurementID int, SubjectID int, ImplantID int,
Length float, Width float, Volume float,
PerformDateTime datetime)
Я знаю, что я новичок в базах данных, но эта топология действительно смутила меня. У нас есть много исследований, и я бы хотел создать файл Excel для каждого исследования, который организует данные в формате для прямого импорта. Для этого мне нужно было бы создать файл CSV для каждого исследования, которое выглядело так:
CREATE TABLE ImportStudy (SubjectName, PerformDateTime, Length, Width, Volume)
Это нормально, что имена субъектов будут повторяться в первом столбце, потому что именно так новое программное обеспечение вставляет их. Любая помощь была бы полезной и спасла бы меня примерно на месяц или два моей жизни, даже если бы мне пришлось использовать WHERE StudyName LIKE N'ABC123'
и ввести каждый из них. Если кто-нибудь может помочь мне добавить T-SQL-эквивалент цикла Object Forented «For Each», это было бы замечательно. Еще раз спасибо за любую помощь.
Лучший,
Джефф