我想用两个 SELECTS 做一个 UNION 并放入一个 table
I want to do a UNION with two SELECTS and put inside a table
到目前为止我有这段代码,我想让它们联合到一个问题中,但我无法让它工作。我一直在尝试做一个新的 Select 围绕转换和一切到 As Nvarchar。
DECLARE @tableHTML NVARCHAR(MAX);
SET @tableHTML =
N'<H3>Felaktiga rader</H3>'+
N'<table border="1">'+
N'<tr><th>ID</th>'+
N'<th>Value</th>'+
N'<th>Reason</th>'+
CAST ((SELECT td=ID,'',
td = Value,'',
td = Reason,''
FROM Mail.dbo.CheckMe
WHERE Value = '120' OR Value = '220'
UNION
Mail.dbo.CheckMeTwo
WHERE Value = '120' OR Value = '220'
for XML path ('tr'), TYPE
) as NVARCHAR(MAX))+
N'</table>';
EXEC msdb.dbo.sp_send_dbmail
@recipients = 'ZZXXYY@gmail.com;',
@subject = ' Felaktiga Rader',
@body = @tableHTML,
@body_format = 'HTML';
您忘记了 select 第二个查询中的列!!!!
SELECT td=ID,'',td = Value,'', td = Reason,''
FROM Mail.dbo.CheckMe
WHERE Value = '120' OR Value = '220'
UNION
SELECT td=ID,'',td = Value,'', td = Reason,''
FROM Mail.dbo.CheckMeTwo
WHERE Value = '120' OR Value = '220'
您的 UNION 构造中的每个查询都需要一个 select 列表!
我是这样解决的
FROM (SELECT * FROM Mail.dbo.CheckMe
WHERE Value = '120' OR Value = '220'
UNION
SELECT * FROM Mail.dbo.CheckMeTwo
WHERE Value = '120' OR Value = '220') T
到目前为止我有这段代码,我想让它们联合到一个问题中,但我无法让它工作。我一直在尝试做一个新的 Select 围绕转换和一切到 As Nvarchar。
DECLARE @tableHTML NVARCHAR(MAX);
SET @tableHTML =
N'<H3>Felaktiga rader</H3>'+
N'<table border="1">'+
N'<tr><th>ID</th>'+
N'<th>Value</th>'+
N'<th>Reason</th>'+
CAST ((SELECT td=ID,'',
td = Value,'',
td = Reason,''
FROM Mail.dbo.CheckMe
WHERE Value = '120' OR Value = '220'
UNION
Mail.dbo.CheckMeTwo
WHERE Value = '120' OR Value = '220'
for XML path ('tr'), TYPE
) as NVARCHAR(MAX))+
N'</table>';
EXEC msdb.dbo.sp_send_dbmail
@recipients = 'ZZXXYY@gmail.com;',
@subject = ' Felaktiga Rader',
@body = @tableHTML,
@body_format = 'HTML';
您忘记了 select 第二个查询中的列!!!!
SELECT td=ID,'',td = Value,'', td = Reason,''
FROM Mail.dbo.CheckMe
WHERE Value = '120' OR Value = '220'
UNION
SELECT td=ID,'',td = Value,'', td = Reason,''
FROM Mail.dbo.CheckMeTwo
WHERE Value = '120' OR Value = '220'
您的 UNION 构造中的每个查询都需要一个 select 列表!
我是这样解决的
FROM (SELECT * FROM Mail.dbo.CheckMe
WHERE Value = '120' OR Value = '220'
UNION
SELECT * FROM Mail.dbo.CheckMeTwo
WHERE Value = '120' OR Value = '220') T