我只是學習使用SQL Server來查詢數據庫(並最終創建我自己的)。我基本上試圖複製我已經用Excel完成的大量工作,但這並不重要。SQL Server嵌套選擇
編輯:這可能是一個更清晰的查詢 -
SET NOCOUNT ON
DECLARE @StartDate DateTime
DECLARE @EndDate DateTime
SET @StartDate = DateAdd(mi,-10,GetDate())
SET @EndDate = GetDate()
SET NOCOUNT OFF
SELECT StartDateTime, TagName, Value
FROM History
WHERE TagName IN ('Master', 'Running')
AND DateTime >= @StartDate
AND DateTime <= @EndDate
這將返回是這樣的:
Row StartDateTime TagName Value
-----------------------------------------------------
1 2016 07 27 15.01.39 Master 154
2 2016 07 27 15.01.39 Running 0
3 2016 07 27 15.01.40 Master 154
4 2016 07 27 15.01.40 Running 0
5 2016 07 27 15.01.41 Master 154
6 2016 07 27 15.01.41 Running 1
7 2016 07 27 15.01.42 Master 65
8 2016 07 27 15.01.42 Running 0
你可以看到StartDateTime
不斷地重複兩行。是否可以在同一行中獲取一個StartDateTime
的值?
所以,你要選擇記錄相同的名稱表的別名,其中的標記名是「MasterFaults」或標記名爲「跑步'AND值是1? – steamrolla
「基本上我只需要選擇」MasterFaults「TagName的行,其中'Running'的值爲1。」只有0個結果具有'Running'和'MasterFaults'的標籤名稱。你的邏輯有些問題。 – Bistabil
如果您發佈代碼,XML或數據樣本,**請**在文本編輯器中突出顯示這些行,然後單擊編輯器工具欄上的「代碼樣本」按鈕(「{}」)以精確地格式化和語法突出顯示它! –