0 Вопрос: Как динамически изменить инструкцию WHERE в подзаголовке [дубликата]

вопрос создан в Thu, May 2, 2019 12:00 AM
    

На этот вопрос уже есть ответ здесь:

    

В моей таблице есть два столбца, один для номера счета, а другой - для купленных товаров. Если клиент купил, скажем, 3 товара, то один и тот же номер счета будет иметь 3 строки, по 1 на каждый товар. (Если я правильно помню, это называется длинной таблицей.)

Моя цель состоит в том, чтобы COALESCE() объединить три элемента вместе. Например:

SELECT
    o.AcctID,
    c.ListItems
FROM OriginalTable as o
    INNER JOIN (
        DECLARE @ListItems Varchar(100)
        SELECT
            AcctID, 
            @ListItems = COALESCE(@ListItems,'') + OrderItems + ', '
        FROM OriginalTable WHERE ???
    ) as c ON o.AcctID = c.AcctID

Теперь, как мне настроить оператор WHERE, чтобы для каждого номера учетной записи создавался новый подтаблица? Спасибо ....

Edit

Например, я хочу конвертировать ...

id  AcctId  | OrderItems | Quantity
 1     10   |   A2301    | 2
 2     10   |   A4544    | 4
 3     11   |   B3299    | 2
 4     11   |   B3602    | 3
 5     11   |   A2301    | 1

в ....

id  AcctId  | ListItems
 1     10   |   'A2301', 'A4544'
 2     11   |   'B3299', 'B3602', 'A2301'
    
- 1
  1. вы спрашиваете, как получить набор данных с разделителями здесь?
    2019-05-02 14: 58: 22Z
  2. Образцы данных и требуемый вывод могут сделать это понятным.
    2019-05-02 15: 00: 46Z
  3. Да, я понятия не имею, что вы можете подразумевать под «subtable» в этом контексте. Используйте примеры.
    2019-05-02 15: 11: 00Z
  4. Это задавалось и отвечалось сотни и сотни, если не тысячи, раз. Вы используете STUFF и FOR XML, если не используете SQL Server 2017+, в этом случае вы можете использовать STRING_AGG.
    2019-05-02 15: 23: 05Z
0 ответов                              0                         
источник размещен Вот