2016-09-22 3 views
0

Я новичок в мире SQL; Я искал сайт на пару часов и не нашел ответа.В SQL, экспортируя таблицу как текст с форматами и правилами

Я использую среду SQL Server Management Studio, чтобы организовать таблицу моих клиентов с колоннами:

name, address1, address2, address3, city, state, zipcode, 
item_purchased, quantity_purchased, etc... 

Однако то, что я пытаюсь сделать, это отформатировать эту таблицу в виде текстов таким образом:

John Smith
123 Sql Street
Los Angeles, CA 90001

item_purchased - quantity_purchased

Можно ли достичь этого в SQL? Если нет, было бы очень интересно знать способ использования метода ввода/вывода на Java или Python.

+1

Возможный дубликат [Как вставить разрыв строки в строке VARCHAR/NVARCHAR SQL Server] (http://stackoverflow.com/questions/31057/how-to-insert-a-line-break-in-a -sql-server-varchar-nvarchar-string) –

+0

Спасибо за ваши ответы! Я следил за предоставленной связью; пытаясь распечатать. Как назначить значение строки 1 столбца 1 переменной печати? – brad

+0

Возможный дубликат [SQL to XML to XSLT to HTML, или SQL to HTML?] (Http://stackoverflow.com/questions/4870478/sql-to-xml-to-xslt-to-html-or-sql- to-html) –

ответ

0

Бред,

Попробуйте это:

SELECT name + CHAR(13) 
+ CASE WHEN LTRIM(RTRIM(ISNULL([address1],''))) <> '' THEN LTRIM(RTRIM(ISNULL([address1],''))) + CHAR(13) ELSE '' END 
+ CASE WHEN LTRIM(RTRIM(ISNULL([address2],''))) <> '' THEN LTRIM(RTRIM(ISNULL([address2],''))) + CHAR(13) ELSE '' END 
+ CASE WHEN LTRIM(RTRIM(ISNULL([address3],''))) <> '' THEN LTRIM(RTRIM(ISNULL([address3],''))) + CHAR(13) ELSE '' END 
+ CASE WHEN LTRIM(RTRIM(ISNULL([city],''))) <> '' THEN LTRIM(RTRIM(ISNULL([city],''))) + CHAR(13) ELSE '' END 
+ CASE WHEN LTRIM(RTRIM(ISNULL([state],''))) <> '' THEN LTRIM(RTRIM(ISNULL([state],''))) + CHAR(13) ELSE '' END 
+ CASE WHEN LTRIM(RTRIM(ISNULL([zipcode],''))) <> '' THEN LTRIM(RTRIM(ISNULL([zipcode],''))) + CHAR(13) ELSE '' END 
+ CASE WHEN LTRIM(RTRIM(ISNULL([item_purchased],''))) <> '' THEN LTRIM(RTRIM(ISNULL([item_purchased],''))) ELSE '' END 
+ ' - ' + CASE WHEN LTRIM(RTRIM(ISNULL([quantity_purchased],''))) <> '' THEN LTRIM(RTRIM(ISNULL([quantity_purchased],''))) + CHAR(13) ELSE '' END 
FROM Customers 

Вы можете либо назначить выход на переменную для одной строки или в другую таблицу для печати.

+0

Спасибо! LogicalMan, это отличный совет. Я боролся, потому что я не слишком хорошо знаком с ключевыми словами SQL. Еще раз спасибо! – brad

 Смежные вопросы

  • Нет связанных вопросов^_^