我尝试过使用唯一名称的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)
现在问题,我该如何解决它,或者如何使用不同的方式来创建独特的列?
拿一个如下的简单表格:
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查询有问题,需要时间从数据库中获取所有记录.任何身体帮助我.以下是数据库示例:
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)
运行该功能需要时间.有人可以建议我任何解决方案,使其更好吗?
我可以运行快速查询,返回两个表之间的所有同名列吗?
我有很多对我知道捆绑在一起的桌子,但我不确定它们共有50个左右的哪个列.
表中的总记录是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类型).
请帮我查询一下.假设我们有一个包含列的表:
现在,我需要一个带有计算列的查询(value = EndTime-Startime).实际上我需要对用户进行分组(Transaction为用户提供FK)并按平均交易时间对其进行排序.
基于下表
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) 我的数据库有大约30个视图,其中大多数都引用了该服务器上的另一个数据库(称之为DB1).
现在,在不考虑原因的情况下,我需要将所有这些视图更新到DB2本地服务器上.
我不想在每个视图上手动执行此操作.是否有一些我可以运行的SQL查询将在我的所有视图中用'DB2'替换所有出现的字符串'DB1'?
我偶然更新了我的SQL Server 2008中的表,我通过逐个单元格复制来更新另一个表,但是我已经覆盖了原始表.有没有办法可以恢复我的桌面内容呢?