SQL-基于日期和批号选择列
我很接近,现在我只是有这个代码的问题。它说我需要添加某个地方的存在?谢谢你的帮助SQL-基于日期和批号选择列,sql,sql-server,select,case,Sql,Sql Server,Select,Case,我很接近,现在我只是有这个代码的问题。它说我需要添加某个地方的存在?谢谢你的帮助 SELECT (SELECT UA#SacmiDataLog_2013.NS_Inlet_T , UA#SacmiDataLog_2013.NSFlowRate , UA#SacmiDataLog_2013.NSHeaterTank , UA#SacmiDataLog_2013.NS_Outlet_T
SELECT (SELECT UA#SacmiDataLog_2013.NS_Inlet_T
, UA#SacmiDataLog_2013.NSFlowRate
, UA#SacmiDataLog_2013.NSHeaterTank
, UA#SacmiDataLog_2013.NS_Outlet_T
, UA#SacmiDataLog_2013.NSTrPrAvg
, UA#SacmiDataLog_2013.NSPump1
, UA#SacmiDataLog_2013.NSPump2
, UA#SacmiDataLog_2013.NS_Visc
, UA#SacmiDataLog_2013.NS_Burner_B
WHERE
UA#SacmiDataLog_2013.NSHeatBatch = 'G23169') AS expr1
, (SELECT UA#SacmiDataLog_2013.OS_Inlet_T
, UA#SacmiDataLog_2013.OS_Outlet_T
, UA#SacmiDataLog_2013.OS_Burner_B
, UA#SacmiDataLog_2013.OSViscosity
, UA#SacmiDataLog_2013.OSHeaterTank
, UA#SacmiDataLog_2013.OSPump1
, UA#SacmiDataLog_2013.OSPump2
, UA#SacmiDataLog_2013.OSTrPrAvg
WHERE
UA#SacmiDataLog_2013.OSHeatBatch = 'G23169') AS expr2
从
dbo.UASacmiDataLog_2013您是否尝试过这种方式:
where (NSHeatBatch= 'G22166' or OSHeatBatch= 'G22166')
and RunDate between '1/14/13' and '1/16/13'
很多时候,大括号对于定义查询非常重要。让我们试着那样做 那么,像这样做,我希望这会有帮助:
SELECT * FROM(
SELECT NSField1 as DataColumnNameSame1,NSField2 as DataColumnNameSame2 FROM SAMETABLE AS NS WHERE NS.BATCH='111111' AND RUNDATE BETWEEN '1/14/13' AND '1/16/13'
UNION ALL
SELECT OSField1 as DataColumnNameSame1,OSField2 as DataColumnNameSame2 FROM SAMETABLE AS NS WHERE OS.BATCH='111111' AND RUNDATE BETWEEN '1/14/13' AND '1/16/13'
) AS DATA
--WHERE CRITERIA IF NECESSARY IN THIS LEVEL TOO, ONCE AGAIN YOU CAN FILTER FROM HERE ALSO IF NEEDED. HOPE THIS HELPS.
因此,假设G22166是在2013年1月1日在新的一面制造的。在旧的一面,G22166于2013年4月1日再次制造。我有没有办法选择2013年4月1日的日期,只显示旧的数据?我很困惑,因为你说一个批次可以在两侧生产,而你说你只需要从生产批次的一侧选择结果。查看更好的表结构视图会有所帮助。查看您最近的评论,根据您共享的信息,我的回答是肯定的:仅从OSHeatBatch列中选择。WHERE子句查看NS和OS列。但是,我打赌我没有足够的信息来正确回答这个问题。编辑:或者你是说你只想看到最近输入的批次?它不允许我添加图像,所以让我尝试编辑它以使其更易于理解。你当然可以在此处添加图像,但告诉你,如果你现在添加查询以及收到的结果,这将非常有帮助。您只需将其添加为文本编辑器中有一个用于格式化为代码的按钮。然后,您可以更容易地解释您希望看到的结果。这会有所帮助,但也允许显示该行中的所有值。假设用户不知道批次是新的还是旧的,他们只知道它是在两个日期之间完成的。如果同时出现NS和OS值,他们如何生成图形?然后,必须在这两个条件之间放置OR运算符。因此,无论批次匹配还是介于日期之间,两者都将出现。否则,我现在感觉你们已经把你们的桌子分成了新的和旧的两部分。然后,您可以使用两个表上的条件从两个表中进行查询并使用UNION检索数据。我没有创建新表的权限。如果不是,案例陈述是否有效?