Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SQL Server 2000:Pomysły na wykonanie podkwerendy agregacji konkatenacji

Zapoznaj się z tymi artykułami:

http://dataeducation.com/rowset-string-concatenation- która-metoda-jest-najlepsza/

http:// www.simple-talk.com/sql/t-sql-programming/concatenating-row-values-in-transact-sql/ (W odpowiedziach zobacz rozwiązanie krzyżowego łączenia Phil Factora - które będzie działać w SQL Server 2000)

Oczywiście w SQL Server 2005 sztuczka FOR XML jest najłatwiejsza, najbardziej elastyczna i ogólnie najbardziej wydajna.

Jeśli chodzi o zwrócenie zestawu wierszy dla każdego wiersza, jeśli z jakiegoś powodu nadal chcesz to zrobić, możesz to zrobić w procedurze składowanej, ale klient będzie musiał wykorzystać wszystkie wiersze w pierwszym zestawie wierszy, a następnie przejść do następnego zestaw wierszy i skojarzyć go z pierwszym wierszem w pierwszym zestawie wierszy itp. Twój SP musiałby otworzyć kursor w tym samym zestawie, który zwrócił jako pierwszy zestaw wierszy i uruchomić wiele zaznaczeń w kolejności, aby wygenerować wszystkie zestawy wierszy podrzędnych. To technika, którą zrobiłem, ale tylko wtedy, gdy WSZYSTKO dane faktycznie były potrzebne (na przykład w pełni wypełnionym widoku drzewa).

I niezależnie od tego, co mówią ludzie, robienie tego po stronie klienta jest często bardzo dużym marnotrawstwem przepustowości, ponieważ zwracanie wszystkich wierszy i wykonywanie pętli i łamanie po stronie klienta oznacza, że ​​ogromna liczba identycznych kolumn jest przesyłana na początku każdy wiersz, aby uzyskać zmieniającą się kolumnę na końcu wiersza.

Gdziekolwiek to robisz, powinna to być świadoma decyzja na podstawie Twojego przypadek użycia.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. serwer sql jeden wiersz wiele kolumn w jednej kolumnie

  2. Dodaj kolumny do istniejącej tabeli w bazie danych SQL Server

  3. Dowiedz się, czy obiekt jest tabelą zdefiniowaną przez użytkownika w SQL Server za pomocą OBJECTPROPERTY()

  4. Jak w SQL Server 2005 uzyskać tabele w innych bazach danych, od których zależy widok?

  5. Odwołaj się do aliasu w innym miejscu na liście WYBIERZ