我试图通过更改查询命令以使其包含来自同一SQL的同一数据库中两个表中的数据并将它们加载到我的VB.Net项目中的同一datagrid
中,从而免于更加努力
我在Management Studio中有一个查询cmd,如下所示:
SELECT DateAndTime, Millitm, TagIndex, Val
FROM PD_All_FT
WHERE (DateAndTime = '2019-01-30 07:59:58.000') AND (Millitm = 597)
ORDER BY DateAndTime DESC
^搜索我的浮动数据值
但是我希望它同时搜索浮动和字符串.dbo(相同查询)
在我的头上看起来像这样:
SELECT DateAndTime, Millitm, TagIndex, Val
FROM PD_All_ST & PD_All_ST
WHERE (DateAndTime = '2019-01-30 07:59:58.000') AND (Millitm = 597)
ORDER BY DateAndTime DESC
^同时搜索PD_All_FT和PD_All_ST,并将数据加载到我的VB.Net项目中的同一dgv中。
这是否有可能,还是我必须进行两个独立的查询?
答案 0 :(得分:1)
也许您想将基于两个表的数据的搜索组合到单个输出网格中:
SELECT DateAndTime, Millitm, TagIndex, Val
FROM PD_All_ST
WHERE (DateAndTime = '2019-01-30 07:59:58.000') AND (Millitm = 597)
UNION ALL
SELECT DateAndTime, Millitm, TagIndex, CAST(Val as VARCHAR(50)) as Val
FROM PD_All_FT
WHERE (DateAndTime = '2019-01-30 07:59:58.000') AND (Millitm = 597)
ORDER BY DateAndTime DESC
此外,您还可以基于视图的创建选择另一种方法:
CREATE VIEW dbo.myView
AS
SELECT DateAndTime, Millitm, TagIndex, Val
FROM PD_All_ST
UNION ALL
SELECT DateAndTime, Millitm, TagIndex, Val
FROM PD_All_FT
GO
-- and then simply replace PD_All_FT with a name of a recently created view:
SELECT DateAndTime, Millitm, TagIndex, Val
FROM myView
WHERE (DateAndTime = '2019-01-30 07:59:58.000') AND (Millitm = 597)
答案 1 :(得分:1)
您可以使用“ UNION”获得两个表的结果,然后根据您的条件进行过滤。
您可以执行以下操作:
GetHashCode