I think this is mostly a question about formatting the data to look more like a table, since you are able to get the table data as you indicated in your question. I used a sample table with the following structure and data:
create table Sample
( Column1 date
, Column2 char(3)
, Column3 decimal(5, 2)
, Column4 varchar(5)
)
insert
dbo.Sample
( Column1
, Column2
, Column3
, Column4
)
values
('2020-09-28', 'AC1', 7.5, 'Mon')
, ('2021-02-15', 'AC2', 7.5, 'Wed')
, ('2021-02-16', 'AC2', 7.5, 'Thurs')
, ('2021-02-10', 'AC3', 7.5, 'Mon')
, ('2021-02-12', 'AC4', 3.5, 'Tue')
, ('2021-02-08', 'AC4', 1, 'Mon')
, ('2021-02-10', 'AD4', 7.5, 'Wed')
, ('2021-02-11', 'AD4', 7.5, 'Thurs')
, ('2021-02-15', 'AD4', 7.5, 'Mon')
, ('2021-02-16', 'AD4', 7.5, 'Tue')
, ('2021-02-17', 'AD4', 7.5, 'Wed')
, ('2021-02-18', 'AD4', 7.5, 'Thurs')
, ('2021-02-22', 'AC4', 7.5, 'Mon')
One approach might be something like:
declare @tablerows varchar(max) = ''
select
@tablerows = @tablerows + '''' + convert(varchar, s.Column1) + ''', ''' + s.Column2 + ''', ' + convert(varchar, s.Column3) + ', ''' + s.Column4 + '''
'
from
dbo.Sample s
print @tablerows
which gives the results:
'2020-09-28', 'AC1', 7.50, 'Mon'
'2021-02-15', 'AC2', 7.50, 'Wed'
'2021-02-16', 'AC2', 7.50, 'Thurs'
'2021-02-10', 'AC3', 7.50, 'Mon'
'2021-02-12', 'AC4', 3.50, 'Tue'
'2021-02-08', 'AC4', 1.00, 'Mon'
'2021-02-10', 'AD4', 7.50, 'Wed'
'2021-02-11', 'AD4', 7.50, 'Thurs'
'2021-02-15', 'AD4', 7.50, 'Mon'
'2021-02-16', 'AD4', 7.50, 'Tue'
'2021-02-17', 'AD4', 7.50, 'Wed'
'2021-02-18', 'AD4', 7.50, 'Thurs'
'2021-02-22', 'AC4', 7.50, 'Mon'
Another approach might be something like this:
declare @tablerows varchar(max) = convert(varchar(max), (SELECT * FROM dbo.Sample rows FOR XML AUTO))
set @tablerows = replace(@tablerows, '/><rows', '
')
set @tablerows = replace(@tablerows, '<rows', '')
set @tablerows = replace(@tablerows, '/>', '')
print @tablerows
which gives results like:
Column1="2020-09-28" Column2="AC1" Column3="7.50" Column4="Mon"
Column1="2021-02-15" Column2="AC2" Column3="7.50" Column4="Wed"
Column1="2021-02-16" Column2="AC2" Column3="7.50" Column4="Thurs"
Column1="2021-02-10" Column2="AC3" Column3="7.50" Column4="Mon"
Column1="2021-02-12" Column2="AC4" Column3="3.50" Column4="Tue"
Column1="2021-02-08" Column2="AC4" Column3="1.00" Column4="Mon"
Column1="2021-02-10" Column2="AD4" Column3="7.50" Column4="Wed"
Column1="2021-02-11" Column2="AD4" Column3="7.50" Column4="Thurs"
Column1="2021-02-15" Column2="AD4" Column3="7.50" Column4="Mon"
Column1="2021-02-16" Column2="AD4" Column3="7.50" Column4="Tue"
Column1="2021-02-17" Column2="AD4" Column3="7.50" Column4="Wed"
Column1="2021-02-18" Column2="AD4" Column3="7.50" Column4="Thurs"
Column1="2021-02-22" Column2="AC4" Column3="7.50" Column4="Mon"
Of course neither of these is exactly the same as selecting from table and outputting to text, but you could build from either of these approaches to get there depending on how much you care about the formatting.