我有一个查询,我正在寻找一个不存在的列,并在结果中填入"NULL".数据将导出到.CSV文件以导入到具有该列的另一个数据库.例如:
我的查询是:
Select col1, col2, col3
from table1
Run Code Online (Sandbox Code Playgroud)
输出是:
col1 col2 col3
1 5 9
2 6 10
3 7 11
4 8 12
Run Code Online (Sandbox Code Playgroud)
我希望输出为:
col1 col2 col3 col4
1 5 9 NULL
2 6 10 NULL
3 7 11 NULL
4 8 12 NULL
Run Code Online (Sandbox Code Playgroud) 嗨我有14个地点,我将开始为14个地点创建报告.我们会使用我们的POS公司软件(客户,礼品卡和预付卡)复制一些信息,但不会复制销售和人工等所有信息.这意味着在运行我的报告时,我需要点击所有14个数据库,使它们成为可读格式...有没有人对此类似的建议或最佳做法?
我有一个查询,我将数据集作为数据表放入.查询运行很好,但是在数据表中它没有列出数据列中的任何内容,因为我无法报告它...任何想法为什么这不起作用?我的查询如下.
SELECT * FROM (
SELECT timeclock.dtTimeIn, timeclock.dtTimeOut, employees.sfirstname,
RANK() OVER ( ORDER BY dtTimeIn) rk1, --earliest record gets 1
RANK() OVER (ORDER BY dtTimeOut DESC) rk2 --latest record gets 1
FROM TimeClock INNER JOIN
Employees ON TimeClock.lEmployeeID = Employees.lEmployeeID
WHERE (dtTimeIn > dateadd(day, datediff(day, 0, getdate())-1, 0)) AND (dtTimeOut < dateadd(day, datediff(day, 0, getdate()), 0)) AND
(sDept IN ('1', '2', '3'))
) A
WHERE rk2=1
Run Code Online (Sandbox Code Playgroud)
运行查询时的当前输出:
dtTimeIn dtTimeOut sfirstname rk1 rk2
2/7/2013 2:36:00 PM 2/7/2013 7:52:33 PM Brian 10 …Run Code Online (Sandbox Code Playgroud) 我有一个查询,我正在尝试检查scode列中的一系列代码.问题是scode列包含一些nvarchar字符,并在找到它们时出错.
如何在不返回错误的情况下运行以下查询.
SELECT dtExpires, dtFirst
FROM Customers
WHERE (scode BETWEEN 10 AND 100) OR
(scode BETWEEN 500 AND 600)
Run Code Online (Sandbox Code Playgroud)
我收到的错误:
将nvarchar值转换为数据类型int时转换失败
我有2个查询,我想合并为一个。基本上,我希望将2个查询放在一个输出表中...输出看起来像这样……
商店GC已售汽车总数 1 22 75 2 24 88 3 15 89
问题是我不知道如何在同一张表中得到它。
这是我的疑问...
SELECT Store_Number, COUNT_BIG(Quantity_Sold) AS GC Sold
FROM Invoice_Detail_Tb
WHERE (Invoice_Date BETWEEN CONVERT(DATETIME, @startdate, 102) AND CONVERT(DATETIME, @enddate, 102)) AND (JLI_Category_Code = 'gc')
AND (Invoice_Detail_Code LIKE 'jlgc%') AND (Invoice_Detail_Type = 'Item')
GROUP BY Store_Number
Run Code Online (Sandbox Code Playgroud)
输出为:
商店编号GC已售 1 12 2 13 3 14
SELECT Store_Number,
SUM(Vehicle_Count) AS [Total_Cars]
FROM Daily_Sales_Tb
WHERE (Operations_Day BETWEEN CONVERT (DATETIME, @startdate, 102) AND CONVERT (DATETIME, @enddate, 102))
GROUP BY Store_Number;
Run Code Online (Sandbox Code Playgroud)
输出:
门店总数汽车 1 7 …
我有一个vb.net程序,它运行存储的函数并填充数据集.但是,由于提取的信息量很大,有时它会在某些数据库上超时.
如何增加查询的超时时间以免被超时命中?
在我的表单按钮我有以下代码不工作(它仍然超时和程序错误)
Me.1TableAdapter.Connection.ConnectionString = "Data Source=10.0.1.1;Initial Catalog=Database;Persist Security Info=True;User ID=USER;Password=PASSWORD; Connection Timeout = 120"
Me.1TableAdapter.Fill(Me.Dataset.1, TodayDt, TodayEnd)
Me.2TableAdapter.Fill(Me.Dataset.1, TodayDt, TodayEnd)
Run Code Online (Sandbox Code Playgroud)
我收到错误消息:
System.Data.SQLClient.SQLException:超时已过期.piror到操作完成或服务器没有响应的超时时间已过.
我有一个查询,我正在运行从数据库拉数小时.我使用的是2个表Employee_TB和Payroll_Hours_TB.查询正在运行,但是它没有显示"0"小时的活跃员工.我希望查询显示那些活跃Employee_Tb.Active_Flag = 1了几小时的员工,以及0小时的日期范围.
SELECT
REPLACE(REPLACE(Employee_Tb.First_Name, '.', ''), ' ', '') AS FirstName,
REPLACE(REPLACE(Employee_Tb.Last_Name, '.', ''), ' ', '') AS LastName,
Employee_Tb.Home_Store_Id, Employee_Tb.Payroll_Id,
SUM(Payroll_Hours_Tb.Hours_Worked) AS RegHours
FROM Employee_Tb
LEFT OUTER JOIN Payroll_Hours_Tb ON Employee_Tb.Employee_Id = Payroll_Hours_Tb.Employee_Id
WHERE (Payroll_Hours_Tb.Work_Date BETWEEN @startdate AND @enddate)
AND (Employee_Tb.Active_Flag = 1)
GROUP BY Employee_Tb.Payroll_Id, Employee_Tb.First_Name, Employee_Tb.Last_Name, Employee_Tb.Home_Store_Id
Run Code Online (Sandbox Code Playgroud) 我正在制作一个程序来检查数据库中15个信用卡读卡器的交易.该计划的目的是检查读者在预定日期范围内的销售情况,以确保我们没有机械问题.一般来说,如果读者没有在预定日期范围内记录销售,则应检查读者的操作.问题是,因为我"计算"交易数量,它会出现"0"而不是NULL,我只想收到一封电子邮件,如果没有任何交易......我该如何更改如果是这样,从"0"计数到NULL?我的查询如下:
SELECT COUNT(sTerminal) AS Terminal
FROM CC
WHERE (dtCreated BETWEEN @startdate AND @enddate) AND (sTerminal = 'Swiper 1')
Run Code Online (Sandbox Code Playgroud) 我有一个票务详细信息表,用于存储交易信息.以下是表数据的示例:
Ticket_Number Detail_type_ID Description Date_Created TotalAmount Barcode
1 11 Card Sale 1/1/16 5 123
1 1 Book 1/1/16 5
1 11 Card Red 1/1/16 -5 123
2 1 book 1/5/16 5
3 1 book 1/6/16 5
3 11 Card Red 1/6/16 -5 123
4 11 Card Sale 1/7/16 5 124
5 1 Book 1/7/16 5
5 11 Card Red 1/7/16 -5 124
6 11 Card Sale 1/8/16 5 123
6 1 Book 1/8/16 5
6 11 Card Red 1/8/16 -5 …Run Code Online (Sandbox Code Playgroud) I have a query:
SELECT Store_Number, COALESCE (COUNT(Invoice_Number), 0) AS abc
FROM Invoice_Detail_Tb
WHERE (Invoice_Date BETWEEN @start AND @end) AND (Invoice_Detail_Code IN ('abc'))
GROUP BY Store_Number
Run Code Online (Sandbox Code Playgroud)
它正在回归:
Store Number ABC
1 1
3 23
4 24
5 7
Run Code Online (Sandbox Code Playgroud)
我希望它能回归:
Store Number ABC
1 1
2 0
3 23
4 24
5 7
Run Code Online (Sandbox Code Playgroud)
我假设是因为我的"Group By".我怎么能做到这一点?
我有一个查询,显示来自客户的交易.我想做的是,只显示在一段时间内出现3次的结果.
例如:
如果我做: Select * from Table where dtcreated between @startdate and @enddate and result = 'Declined'
lcustomerid dtcreated result
1 8/1/15 Declined
1 8/2/15 Declined
1 8/3/15 Declined
2 8/1/15 Declined
2 8/2/15 Declined
2 8/3/15 Declined
3 8/1/15 Declined
3 8/3/15 Declined
4 8/1/15 Declined
Run Code Online (Sandbox Code Playgroud)
我想做的只是显示已经下降3次的那些.所以上面我只想看ID 1和2.
所以我正在寻找的结果是:
Select lcustomerid where dtcreated between @startdate and @enddate and result = 'Declined'
lcustomerid
1
2
Run Code Online (Sandbox Code Playgroud) 我有一个查询,我正在运行,我只想在比较两列时考虑日期,而不是时间.我目前有:
SELECT dtvisit1, dtvisit2
FROM dbo.Visit
WHERE dtvisit1 = dtvisit2;
Run Code Online (Sandbox Code Playgroud)
显然,这只会显示每次访问在同一天的相同时间的行.我只是想知道两列是否在同一天有条目.
我有一个 Vb.net 程序,它查询数据库以获取一堆记录。我不太清楚如何传递参数。下面是我的代码:
Dim connectionString As String
Dim sqlCnn As SqlConnection
Dim sqlCmd As SqlCommand
Dim sql As String
Private Function GetCustomerData() As DataTable
locationdb = "10.0.1.1"
connectionString = ("Data Source=" & locationdb & ";Initial Catalog=TestDB;Persist Security Info=True;User ID=user;Password=password")
sql = ("SELECT lCustomerID,CustomerName,address FROM customers where @active = True...ETC")
sqlCnn = New SqlConnection(connectionString)
Dim CategoryAdapter As New SqlDataAdapter(sql, sqlCnn)
Dim CustomerInfo As New DataSet()
sqlCmd.Parameters.AddWithValue("@StartDate", frmMain.Startdate)
sqlCmd.Parameters.AddWithValue("@EndDate", frmMain.Enddate)
sqlCmd.Parameters.AddWithValue("@Department", "ALL")
sqlCmd.Parameters.AddWithValue("@Active", "1")
sqlCmd.Parameters.AddWithValue("@Visits", "ALL")
CategoryAdapter.Fill(CustomerInfo, "Customers")
Return CustomerInfo.Tables(0)
End Function …Run Code Online (Sandbox Code Playgroud)