W ramach złożonej struktury bazy danych muszę zapewnić użytkownikowi możliwość edycji danych przechowywanych w serii tabel. Mimo że wszystkie typy danych są takie same, nie zawierają linii 1: 1 w swoich nazwach. Aby to złagodzić, stworzyłem zapytanie, które odwzorowuje oryginalne nazwy (pochodzące z zewnętrznych raportów) na nazwy używane wewnętrznie; z tych zapytań wszystko jest podane do jednego gigantycznego zapytania UNION.Jak utworzyć edytowalne zapytanie UNION?
Wszystkie typy danych i rozmiary pól są ustawione prawidłowo.
Co jeszcze muszę zrobić, aby zapytanie UNION działało?
ten jest obecny w zapytaniu SQL za:
SELECT * FROM MappingQuery1 UNION SELECT * FROM MappingQuery2;
EDIT:
Odpowiedź poniżej pisał link do KB article których stwierdza się z pewnością, że dane w UNION
zapytania nie może być zaktualizowany. Czy jest jakiś sposób obejść to? Na przykład:
SELECT * FROM MappingQuery1, MappingQuery2;
Czy to zadziała? Pamiętaj, że wszystkie pola są wyrównane pod względem typu, rozmiaru i nazwy.
Czy istnieje możliwość konsolidacji poszczególnych tabel w tabeli głównej, która ma taką samą strukturę, z wyjątkiem jednego dodatkowego pola dla nazwy tabeli, z której pochodzi każdy wiersz? – HansUp
SELECT * FROM MappingQuery1, MappingQuery2; dostarczy zapytanie kartezjańskie (zestaw wyników zawierający wszystkie możliwe kombinacje każdego wiersza) - nie będzie można go edytować. Zgadzam się z HansUp. – Fionnuala
HansUp sugeruje, że struktura bazy danych nie jest optymalna. Jako praktykujący diagnosta (głównie diagnozując własne problemy, przyznam się), myślę, że to bardzo prawdopodobne. Jeśli tak, to po tym wyzwaniu pojawi się wiele innych. – Smandoli