小编Ale*_*nko的帖子

在SQL中使用XML时的Where子句

我目前在SQL表中使用XML数据类型

我的数据表看起来像这样

Id | Name | Surname | Title  | Location | Artist |
-------------------------------------------------------
1  | xxx  | abc     | def    | London   | XML    |
2  | xxx  | abc     | def    | Oslo     | XML    |
3  | xxx  | abc     | def    | New York | XML    |
Run Code Online (Sandbox Code Playgroud)

我的XML文件看起来像这样

<song category="gaming">
<title>Valentine's Day</title>
<artist-main>Fatfinger</artist-main>
<artist-featured>Slimthumb</artist-featured>
<year>2013</year>
<price>29.99</price>
<album>Gamestain</album>
<albumimg>http://download.gamezone.com/uploads/image/data/875338/halo-4.jpg</albumimg>
<songurl>http://www.youtube.com/watch?v=-J0ABq9TnCw</songurl>
Run Code Online (Sandbox Code Playgroud)

现在根据艺术家获取记录我正在使用查询

SELECT 
Id, Name, Surname, Title 
FROM 
DATA 
WHERE 
Artist Like '%Fatfinger%' -- (this is user …
Run Code Online (Sandbox Code Playgroud)

xml sql sql-server sql-server-2012

9
推荐指数
2
解决办法
3万
查看次数

清除组合框数据源项

已分配Combobox数据源

cmbCombobox.DataSource = myCollection
Run Code Online (Sandbox Code Playgroud)

其中myCollection的类型为MyCollection:List

如何清除组合框中的项目?

.net compact-framework winforms

5
推荐指数
1
解决办法
3万
查看次数

在netezza中创建带有标题的外部表(postgres)

我正在创建一个外部表,如下所示

CREATE EXTERNAL TABLE '~\test.csv' 
USING ( DELIMITER ',' Y2BASE 2000 ENCODING 'internal' REMOTESOURCE 'ODBC' ESCAPECHAR '\' )
AS SELECT * FROM TEST_TABLE;
Run Code Online (Sandbox Code Playgroud)

它工作正常.我的问题是:

有没有办法可以将标题值命名为test.csv文件中的列名?是否有可能在Netezza或postgres.

我想我们可以使用COPY来完成它,但是我想使用EXTERNAL TABLE命令来完成它.

谢谢

csv netezza

5
推荐指数
1
解决办法
1万
查看次数

如何通过在SQL 2012中的Select语句中连接字符串来形成表名

我想实现这个目标 -

SELECT * FROM A1234
Run Code Online (Sandbox Code Playgroud)

我将ID 1234保存在名为Aliases的另一个表中,该表有两列Alias,ID和一条记录,如下所示.

Alias = TestTable,ID = 1234

所以我正在尝试这样的事情

SELECT * FROM ('A'+ (SELECT ID FROM Aliases WHERE Alias = 'TestTable'))
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激

sql sql-server

5
推荐指数
2
解决办法
1万
查看次数

在触发器中检查@@ rowcount = 0的目的是什么?

我读了一本书,例如,Pro SQL Server 2008关系数据库设计和实现Lois Davidson,我发现了检查@@rowncount触发器内部的建议if it is = 0 then return:

if @@rowcount = 0 return
Run Code Online (Sandbox Code Playgroud)

我想知道是否修改了没有行如何触发触发器?

sql sql-server triggers

3
推荐指数
1
解决办法
4261
查看次数

按组排序表,具有最高总和并显示单个条目

我有以下场景,我想订购表格,并按具有最高到最低金额的组排列

 name   score
----------------
  abc    10
  pqr    9
  abc    7
  pqr    3
  abc    10
  xyz    7
  pqr    7
  xyz    3
  xyz    2
Run Code Online (Sandbox Code Playgroud)

现在,如果我们观察,

总(abc)= 10 + 7 + 10 = 27

总(pqr)= 9 + 3 + 7 = 19

总(xyz)= 7 + 3 + 2 = 12

如何SQL按最高总和的组对上表进行排序,它应该显示单个条目?

Expected output:
----------------
name   score 
----------------
abc    10
abc    10
abc    7
pqr    9
pqr    7
pqr    3
xyz    7
xyz    3
xyz    2
Run Code Online (Sandbox Code Playgroud)

sql sqlite group-by sql-order-by

3
推荐指数
1
解决办法
365
查看次数

使用数据透视表填充数据

我有一张这样的桌子,

country 2007    2008    2009
 UK      5       10      20
 uk      5       10      20
 us     10       30      40
 us     10       30      40
Run Code Online (Sandbox Code Playgroud)

但我想像这样填充表格,

country year    Total volumn
 uk     2007    10
 uk     2008    20
 uk     2009    40
 us     2007    20
 us     2008    60
 us     2009    80
Run Code Online (Sandbox Code Playgroud)

如何使用数据透视表或任何其他方法在SQL Server 2008中执行此操作.

http://sqlfiddle.com/#!3/2499a

sql pivot sql-server-2008

3
推荐指数
1
解决办法
208
查看次数

在SQL查询中有条件地应用WHERE子句

我有一个我需要修改的预先存在的过程,并且以非常简单的方式,它的编写类似于下面的示例.

该过程在@StudentID和@SubjectID中传递,如果@SubjectID = 0,它执行查询而根本不对SubjectID进行过滤,否则它执行完全相同的查询但过滤SubjectID.

CREATE PROCEDURE SomeProcedure
  @StudentID INT,   
  @SubjectID INT    
AS
BEGIN   
  IF(@SubjectID = 0)
  BEGIN  
    SELECT SomeColumns
    FROM SomeTable
    WHERE StudentID = @StudentID
  END 
  BEGIN  
    SELECT SomeColumns
    FROM SomeTable
    WHERE StudentID = @StudentID
    AND SubjectID = @SubjectID
  END 
END
Run Code Online (Sandbox Code Playgroud)

这对我来说似乎很荒谬; 我们现在必须维护同一个查询的两个副本; 一个过滤主题ID而另一个不过滤.我无法控制应用程序希望传递SubjectID = 0以获取所有主题的结果这一事实.

鉴于我无法更改过程的签名,我该如何重写它以便它不需要两个单独的查询?

我已经尝试在WHERE子句中使用CASE语句,但我无法弄清楚如何有条件地包含WHERE谓词的部分.

这个问题的英文翻译是"IF @SubjectID = 0,返回带有任何SomeTable.SubjectID值的结果,ELSE只返回SomeTable.SubjectID = @SubjectID的结果"

如何在单个查询中完成该任务(请不要动态SQL建议)?

sql sql-server where

2
推荐指数
1
解决办法
207
查看次数

按转换日期显示和排序的 SQL

是否可以使用 SQL 以新格式显示日期,例如 dd-mm-yyyy,然后按转换后的日期排序?

我试过类似的东西:

SELECT CONVERT(varchar(10), [Date Depart], 105) AS [Date Depart]
FROM FLIGHT
ORDER BY CONVERT(varchar(10), [Date Depart], 105) DESC
Run Code Online (Sandbox Code Playgroud)

它不适用于 MS SQL Server。它仍然按 VARCHAR 排序。

sql sql-server

2
推荐指数
1
解决办法
1万
查看次数