标签: t-sql

作为GUID插入到sql表列中

我尝试过使用唯一名称的ado.net create table columnName.我用的是单一的new Guid()

    Guid sysColumnName = new Guid();
    sysColumnName = Guid.NewGuid();

    string stAddColumn = "ALTER TABLE " + tableName + " ADD " + sysColumnName.ToString() + " " + convertedColumnType + "  NULL";
    SqlCommand cmdAddColumn = new SqlCommand(stAddColumn, con);
    cmdAddColumn.ExecuteNonQuery();
    con.Close();
Run Code Online (Sandbox Code Playgroud)

它失败了:

System.Data.SqlClient.SqlException:' - '附近的语法不正确.System.Data.SqlClient.SqlConnection.OnError(SqlException异常,Boolean breakConnection) - System.Data.SqlClient.SqlInternalConnection.OnError(SqlException异常,Boolean breakConnection)

现在问题,我该如何解决它,或者如何使用不同的方式来创建独特的列?

c# t-sql ado.net

0
推荐指数
1
解决办法
666
查看次数

使用"in"和case语句

有可能写出类似的东西

输入in(value1,value2)然后b结束的情况

t-sql sql-server

0
推荐指数
1
解决办法
79
查看次数

如何在SQL中编写Microsoft Excel"Shift Cells Up"功能

拿一个如下的简单表格:

Column Headings: || Agent's Name || Time Logged In || Center ||  
Row 1: Andrew  || 12:30 PM || Home Base  
Row 2: Jeff || 7:00 AM || Virtual Base  
Row 3: Ryan || 6:30 PM || Test Base
Run Code Online (Sandbox Code Playgroud)

现在让我们说删除一个单元格,这样表现在看起来像这样:

Column Headings: || Agent's Name || Time Logged In || Center ||  
Row 1: Andrew  || 12:30 PM ||   
Row 2: Jeff || 7:00 AM || Virtual Base  
Row 3: Ryan || 6:30 PM || Test Base
Run Code Online (Sandbox Code Playgroud)

请注意,缺少"Home Base".现在在Excel中,您可以删除单元格并移动其余部分,以便最终产品如下所示: …

sql t-sql excel cell

0
推荐指数
1
解决办法
858
查看次数

SQL查询优化

我的SQL查询有问题,需要时间从数据库中获取所有记录.任何身体帮助我.以下是数据库示例:

order(order_id, order_nm)
customer(customer_id, customer_nm)
orderDetail(orderDetail_id, order_id, orderDate, customer_id, Comment)
Run Code Online (Sandbox Code Playgroud)

我想获得最新的客户和订单详细信息.
这可能是解决方案:

我创建了一个GetLatestOrderByCustomer(CusID)函数来获取最新的客户信息.

CREATE FUNCTION [dbo].[GetLatestOrderByCustomer]
(
    @cus_id int
)
RETURNS varchar(255)
AS
BEGIN
    DECLARE @ResultVar varchar(255)

    SELECT @ResultVar = tmp.comment
    FROM 
    (
        SELECT TOP 1 orderDate, comment
        FROM orderDetail
        WHERE orderDetail.customer_id = @cust_id
    ) tmp


    -- Return the result of the function
    RETURN @ResultVar

END
Run Code Online (Sandbox Code Playgroud)

下面是我的SQL查询

SELECT 
      customer.customer_id
    , customer.customer_nm
    , dbo.GetLatestOrderByCustomer(customer.customer_id)
FROM Customer
    LEFT JOIN orderDetail
        ON orderDetail.customer_id = customer.customer_id
Run Code Online (Sandbox Code Playgroud)

运行该功能需要时间.有人可以建议我任何解决方案,使其更好吗?

sql t-sql sql-server sql-server-2005

0
推荐指数
1
解决办法
153
查看次数

在SQL Server中查找共享列

我可以运行快速查询,返回两个表之间的所有同名列吗?

我有很多对我知道捆绑在一起的桌子,但我不确定它们共有50个左右的哪个列.

sql t-sql sql-server-2008

0
推荐指数
1
解决办法
311
查看次数

如何使用SQL Server 2005中的Select语句计算两个字段?

表中的总记录是10.

Select count(ID) from table1 where col1 = 1 (Result is 8)
Select count(ID) from table1 where col1 = 0 (Result is 2)
Run Code Online (Sandbox Code Playgroud)

所以它是一个相同的表,但计数是基于不同的条件.如何使用一个select语句获得两个结果(计数)?

此外,性能是一个大问题.

PS:我正在使用存储过程...

编辑:我想清除上面的查询只是一个大SP逻辑的一部分(至少对我来说).由于我得到了以下答案,它给出了另一种想法,以不同的方式实现它.我上面的问题现在有点改变了......请帮忙吗?它是一个具有真或假状态的col(bool类型).

sql t-sql select stored-procedures sql-server-2005

0
推荐指数
1
解决办法
295
查看次数

带有计算列的SQL查询

请帮我查询一下.假设我们有一个包含列的表:

  • 交易
  • 开始时间
  • 时间结束

现在,我需要一个带有计算列的查询(value = EndTime-Startime).实际上我需要对用户进行分组(Transaction为用户提供FK)并按平均交易时间对其进行排序.

sql t-sql

0
推荐指数
1
解决办法
358
查看次数

帮助t-sql数据聚合

基于下表

Area  S1 S2 S3 S4 
--------------------
A1    5  10 20 0
A2    11 19 15 20
A3    0  0  0  20
Run Code Online (Sandbox Code Playgroud)

我想生成一个输出,它将给出不具有"0"的列数.

所以输出就是

Area  S1 S2 S3 S4   Count 
-------------------------
A1    5  10 20 0    3
A2    11 19 15 20   4
A3    0  0  0  20   1
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server sql-server-2008

0
推荐指数
1
解决办法
74
查看次数

如何批量更新视图?

我的数据库有大约30个视图,其中大多数都引用了该服务器上的另一个数据库(称之为DB1).

现在,在不考虑原因的情况下,我需要将所有这些视图更新到DB2本地服务器上.

我不想在每个视图上手动执行此操作.是否有一些我可以运行的SQL查询将在我的所有视图中用'DB2'替换所有出现的字符串'DB1'?

sql t-sql sql-server-2008

0
推荐指数
2
解决办法
1653
查看次数

在SQL Server 2008中撤消表更新

我偶然更新了我的SQL Server 2008中的表,我通过逐个单元格复制来更新另一个表,但是我已经覆盖了原始表.有没有办法可以恢复我的桌面内容呢?

t-sql database-restore database-backups sql-server-2008

0
推荐指数
1
解决办法
8414
查看次数