用于格式化GridView中DataSource的表数据的SQL查询

时间:2016-08-18 20:11:50

标签: sql asp.net database gridview formatting

我正在寻找可以传输源SQL表数据的SQL Server查询:

TextID | Text  | LanguageID
-------|-------|-------------------------------------
app.aa | Hi    | 6a13ea09-46ea-4c93-9b6a-e26bdc6ff4d8
app.cc | Hund  | 0c894bb7-4937-4903-906a-d1b1dd64935c
app.aa | Hallo | 0c894bb7-4937-4903-906a-d1b1dd64935c
app.cc | Dog   | 6a13ea09-46ea-4c93-9b6a-e26bdc6ff4d8
app.bb | Star  | 6a13ea09-46ea-4c93-9b6a-e26bdc6ff4d8
... 

进入这样一个表:

TextID | Original | Translated
-------|----------|-----------
app.aa | Hi       | Hallo
app.bb | Star     | -
app.cc | Dog      | Hund
...

这样我就可以在ASP .NET中将它用作GridView的DataSource。提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

每当您需要将来自两个不同行的数据合并为一个时,您需要加入。例如:

select src.TextID "TextID", src.Text "Original", tr.Text "Translated"
from source_table src
left join source_table tr
on src.TextID = tr.TextID
and src.LangID = 'xxx'  -- xxx is the source language id
and tr.LangID = 'yyy' -- yyy is the target language id

左连接确保未翻译的单词包含空翻译值。要为您的DataSource创建一个表,您需要围绕选择包装创建表(或者创建视图):< / p>

create table translations as
    select ...