我在一个连接上总共运行了三个sql命令。运行查询时,除了一件小事之外,一切都很完美。最后一个命令的UNION SELECT不会在最后一个语句的末尾附加'TEXT'。
SqlCommand commandtwo = new SqlCommand("SELECT PID = RIGHT(REPLICATE('0',8) + CAST(PID AS VARCHAR(8)),8) + ',' FROM dbo.MDRMASTER WHERE PARENTPID = @PARENTPID UNION SELECT 'TEXT'", con);
SqlCommand commandthree = new SqlCommand("SELECT INST = INST + ',' FROM dbo.MDRMASTER WHERE PARENTPID = @PARENTPID UNION SELECT 'TEXT'", con);
我觉得这很奇怪,因为commandtwo工作得很好。我也觉得很奇怪,为了让逗号在命令树中工作,我必须写
= INST + ','
而不仅仅是
+ ','
那我为什么会遇到这些奇怪的事呢?或者因为我认为自己是初学者,这个规则我显然不知道什么?我正在使用SQL Server 2008 R2非常感谢你。
答案 0 :(得分:0)
UNION应该工作。检查' TEXT'列表中的位不是。如果您的INST
列已编入索引,则可能会对结果进行排序,这就是为什么它可能不在最后。
答案 1 :(得分:0)
INST
的数据类型是什么?
CAST(INST AS nvarchar) + ','
可能有用。