C# 如何更改SQL表中的行和列

C# 如何更改SQL表中的行和列,c#,sql,.net,C#,Sql,.net,SQL表的结果如下 InvoiceId Tax1 Tax1value Tax2 Tax2Value Tax3 Tax3Value 10 GST 2.0 PST 2.8 GRT 3.1 查询以获得上述结果 SELECT InvoiceId,Tax1,Tax1value,Tax2,Tax2value,Tax3,Tax3Value FROM Invoice WHERE InvoicId=10 现在,我需要为同一个发票表输出类似Blow

SQL表的结果如下

InvoiceId Tax1 Tax1value  Tax2  Tax2Value Tax3   Tax3Value
10         GST   2.0       PST    2.8      GRT     3.1
查询以获得上述结果

SELECT InvoiceId,Tax1,Tax1value,Tax2,Tax2value,Tax3,Tax3Value
FROM Invoice
WHERE InvoicId=10
现在,我需要为同一个发票表输出类似Blow的表输出

GST    PST    GRT
2.0    2.8    3.1
如何得到这样的结果

SELECT Tax1value AS GST, Tax2value AS PST, Tax3Value AS GRT
FROM Invoice
WHERE InvoiceId = 10

关键字AS用于为列或表指定别名

结果将是

| GST | PST | GRT |
|-----|-----|-----|
|   2 |   3 |   3 |
这里有一个。

看看这个,也许对你有用

适用于您的案例如下:

SELECT
  invoiceid,
  MAX(CASE WHEN (tax1= 'GST') THEN tax1value ELSE NULL END) AS GST,
  MAX(CASE WHEN (tax2 = 'PST') THEN tax2value ELSE NULL END) AS PST,
  MAX(CASE WHEN (tax3 = 'GRT') THEN tax3value ELSE NULL END) AS GRT
FROM
  invoice
GROUP BY invoiceid
ORDER BY invoiceid

Gonul我不需要像Tax1value一样的静态Asign值作为GST。我需要动态。@Gurunahan您想在sql查询工作时更改列名吗?Gonul我需要运行此查询条件,如InvoiceId=56GST、PST、GRT或动态值,然后我如何使用它..?您必须知道这些值。套用链接的答案问题,如果可能值的数量未知,则需要在循环中动态构建SQL语句。那是你的问题吗?