我在Windows7平臺和Qt5上使用MS SQL Server 2012開發使用數據庫的應用程序。我擅長Qt,但我沒有SQL技能。
目前,我有一個名爲Devices
表看起來像這樣:SQL查詢使用來自其他表和變量的獨特/不同數據填充表的SQL查詢?
DeviceSerial DeviceIPAddr DeviceSwVersion
===========================================
1000 192.168.1.1 8.00
1043 192.168.1.2 8.00
1045 192.168.1.2 8.01
1049 192.168.1.3 8.00
1055 192.168.1.4 8.00
1058 192.168.1.6 8.00
1060 192.168.1.5 8.00
1061 192.168.1.8 8.01
1066 192.168.1.3 8.00
1070 192.168.1.10 8.00
1071 192.168.1.12 8.00
...
還有一個名爲CommandQueue
另一個表,(那是空的,或者它應該是這樣操作過嗎?),它應該有數據填充基於該第一表字段DeviceIPAddr
和從我的應用程序的參數(整數)的值,像下面:
TargetIP CommandID
========================
192.168.1.1 30
192.168.1.2 30
192.168.1.3 30
192.168.1.4 30
192.168.1.5 30
192.168.1.6 30
192.168.1.8 30
192.168.1.10 30
192.168.1.12 30
...
的commandID
的值是在一個時間瞬間爲CommandQueue
表的所有行相同。爲了示例/樣本,我選擇了30.
如何創建SQL查詢以填充CommandQueue
表?
感謝'TRUNCATE'小費!一個問題,如果你請允許我:如果我只適用於SW版本爲8.00的設備(請參閱上面問題中的示例),該怎麼辦?如何修改/改編查詢? –
嗯...這個想法是'CommandID'必須更新到Qt應用程序提供的最新值,舊值應該被替換......如果你知道我的意思... –
已更新 - - 順便說一句,我顯然不知道關於你的應用程序的任何其他內容,但是如果你需要從'Devices'中取出唯一的DeviceIPAddr/DeviceSwVersion值,你可以通過添加一個索引來做到這一點。 –