У мене є 4 таблиці: Магазини, термінали, термінали магазинів і адреса. Насправді, у кожному магазині є кілька терміналів, але лише одна адреса, тому я намагаюся отримати результати, які в основному показують один магазин на рядок з декількома терміналами і єдиною адресою. :(
Записи в таблиці StoreTerminals просто мають StoreID і TerminalID, тому, якщо Store має більше одного TerminalId, то існує кілька записів.
Я побачив ще одне питання, де групується конкатенаціянаблизився до того, що я хотів, але це залишило б результати для декількох терміналів в тому ж стовпці, який я не хочу. Мені потрібен кожний термінал, щоб бути в його власній колонці.
Хто-небудь знає, як це зробити?
Відповіді:
1 для відповіді № 1Ви повинні подивитися на функцію pivot на сервері SQL. Це має дозволити отримати один стовпчик для одного терміналу.
http://blogs.msdn.com/b/spike/archive/2009/03/03/pivot-tables-in-sql-server-a-simple-sample.aspx
1 для відповіді № 2
Мені здається, вам потрібно повернути дані.
Ідентифікатор магазину, адреса магазину, ідентифікатор терміналу 1, ідентифікатор терміналу 2
Ось посилання на команду pivot. Він перетворює рядки на стовпці. Команда unpivot є зворотною.
http://technet.microsoft.com/en-us/library/ms177410(v=sql.105).aspx