我是新来的,并在Microsoft SQL Server 2008上学习SQL。我正在尝试为订单行项目的表执行以下操作,每个记录是一个订单项目。 只有一条记录和#####代码的任何交易号码。 我已经尝试了许多方法,但一直没能弄明白选择和计数语句
Select * from Table
where count(transactionnumber)<2 and Code='9987'
我想我得到了它。必须使用不同的代码,因为QA没有使用该代码的不同行。如果您发现任何可能导致和问题的内容,请告诉我。
Select * from (select Orders.TransactionNumber from Orders
group by Orders.TransactionNumber
having COUNT (Orders.TransactionNumber)=1) as transa
Inner join Orders on transa.TransactionNumber=Orders.TransactionNumber
where ItemCode=9803
结束了这段代码
use XXX
Select Orders.TransactionNumber,Orders.RepNumber, Orders.CustomerID,Orders.ShipToId,orders.ItemCode,Orders.Quantity,Orders.ReceivedDate,Orders.TransmitStatus from (select TransactionNumber from Orders
group by TransactionNumber
having COUNT (TransactionNumber)=1) as transa
Inner join Orders on Orders.TransactionNumber=transa.TransactionNumber
where ItemCode=9987 and ReceivedDate > DateADD (day, -1, GetDate())
IF @@ROWCOUNT > 0
BEGIN
EXEC msdb.dbo.sp_send_dbmail
recipients=N'XXXX',
@body='Merchandisers orders with only Item Code 9803',
@subject ='only Item Code 9803',
@profile_name ='',
@query = 'Select Orders.TransactionNumber,Orders.RepNumber,Orders.CustomerID,Orders.ShipToId,orders.ItemCode,Orders.Quantity,Orders.ReceivedDate,Orders.TransmitStatus from(select TransactionNumber from Orders
group by TransactionNumber
having COUNT (TransactionNumber)<2) as transa
Inner join Orders on Orders.TransactionNumber=transa.TransactionNumber
where ItemCode=9803 and ReceivedDate > DateADD (day, -1, GetDate())'
END'
使用'HAVING计数(transactionnumber)<2' – 2015-01-26 22:14:26
这是我结束了只有电子邮件如果查询结果 – Hogwilde1 2015-02-10 09:35:16