台灣最大程式設計社群網站
線上人數
1014
 
會員總數:244770
討論主題:188831
歡迎您免費加入會員
討論區列表 >> MS SQL >> [SQL][SQL]select的問題(急件)
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
[SQL][SQL]select的問題(急件)
價值 : 0 QP  點閱數:1961 回應數:7

樓主

summy
初學者
6 2
0 1
發送站內信

各位高手請出手相救!!!!!
我在select時如何利用某一欄位中的data去向上query呢?
data 的格式是char(30).

本篇文章發表於2002-04-04 11:30
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

keny
檢舉此回應
I am interest, but your question is not clear enough.
本篇文章回覆於2002-04-04 16:01
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

summy
檢舉此回應
我的意思是說在一個table中,若有需要可否利用table中的其中一個值來做select的條件式,去查詢table中的值呢,Or 我可否在select句中,利用If...Then....Else呢??????????
本篇文章回覆於2002-04-08 08:36
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

Allen
捐贈 VP 給 Allen 檢舉此回應
請問您是用哪一種資料庫, 關於您的問題, 可否舉例說明 ?
本篇文章回覆於2002-04-08 09:31
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

summy
檢舉此回應
我所用的是Ms-SQL2000, 我所遇到的問題是,我們工場端的測試值,是利用每一個model 一個table,而我的fields 依序是 FREQ1,FREQ2,.....,Ttime, 現在我遇到的問題是
同一MODEL可能會有重複測試的可能性,這樣一來,我在ASP所寫的前端程式,就無法查詢到一個有效的不重複的值出來,不知是否有前輩能出手相助!!!!!!!
我的TABLE: 
FREQ1                        FREQ2                   TEST     Ttime
2017                          2025                     OK         2002/04/10
2017                          2025                     OK         2002/04/10
2017                          2025                     OK         2002/04/10
13372002_4_2_15_41    1337_1337D001      112                           
           
13372002_4_2_15_41  是我的檔案名稱   

1337_1337D001      是我的序號 

112 是一個MODEL的總數

我的想法是用序號去判斷是否重複,若是則將這一序號的所有測試值去掉.......

        

本篇文章回覆於2002-04-08 10:03
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

Allen
檢舉此回應
Sorry,我還是看不懂您的說明:
我所用的是Ms-SQL2000
-->在SQL Server的Help中, 查詢 "CASE", 可以找到類似If ... then 的用法


, 我所遇到的問題是,我們工場端的測試值,是利用每一個model 一個table,而我的fields 依序是 FREQ1,FREQ2,.....,Ttime
-->所以, 您的Table數會一直增加, 這可能是您問題的根源, 如果可以, 請將資料放在同一Table中, 或者, 做一個轉換程式, 將各Table值彙整在一起, 再增加一個欄位Model ID來分辨所屬的Model即可


同一MODEL可能會有重複測試的可能性
-->如果重覆測試, 仍將測試結果Append到 同一Model Table中嗎 ?


我在ASP所寫的前端程式,就無法查詢到一個有效的不重複的值出來
-->您的查詢條件是Model,但希望不要顯示重覆的結果, 請問哪一個欄位可以用來分辨是否重覆, 是FREQ1嗎 ?


我的TABLE: 
FREQ1                        FREQ2                   TEST     Ttime
2017                          2025                     OK         2002/04/10
2017                          2025                     OK         2002/04/10
2017                          2025                     OK         2002/04/10
13372002_4_2_15_41    1337_1337D001      112                           
-->請問最後一列也是放在Table中嗎, 看起來與其他記錄是截然不同的
           
13372002_4_2_15_41  是我的檔案名稱   
1337_1337D001      是我的序號 
112 是一個MODEL的總數
-->13372002_4_2_15_41是"檔案名稱", 還是"資料表名稱" ?
-->1337_1337D001是序號 , 此值有何意義? 如果這筆記錄真的放在Table中, 那麼, 重覆測試時, 此值會相同嗎? 資料庫中沒有順序, 因此, 若您要依這筆記錄來"向上"查詢, 應該會有問題, 必需要還有一個ID欄位, 用來排序
-->112是否是此Model的Sample數量 ? 與您的問題應該無關才對, right?


我的想法是用序號去判斷是否重複,若是則將這一序號的所有測試值去掉.......
-->您是希望如果同一個Table中, 如果存在以下記錄
FREQ1                        FREQ2                   TEST     Ttime
2017                          2025                     OK         2002/04/10
2017                          2025                     OK         2002/04/10
2017                          2025                     OK         2002/04/10
13372002_4_2_15_41    1337_1337D001      112                           
2017                          2025                     OK         2002/04/10
2017                          2025                     OK         2002/04/10
2017                          2025                     OK         2002/04/10
13372002_4_2_15_41    1337_1337D002      112                           
2017                          2025                     OK         2002/04/10
2017                          2025                     OK         2002/04/10
2017                          2025                     OK         2002/04/10
13372002_4_2_15_41    1337_1337D001      112                           


那麼, 您希望顯示的結果變成
FREQ1                        FREQ2                   TEST     Ttime
2017                          2025                     OK         2002/04/10
2017                          2025                     OK         2002/04/10
2017                          2025                     OK         2002/04/10
13372002_4_2_15_41    1337_1337D001      112                           
2017                          2025                     OK         2002/04/10
2017                          2025                     OK         2002/04/10
2017                          2025                     OK         2002/04/10
13372002_4_2_15_41    1337_1337D002      112  

其中最後五筆記錄因為測試序號為1337_1337D001, 是重覆的, 因此要全部刪除, right ?

為了釐清您的問題, 因此我再整理了一下, 如果不對, 煩請告知, 另外, 如果我以上敘述是正確的, 那麼, 您的資料庫設計是有些可改進的空間, 因此, 也請順便說一下, 資料庫設計是否可以修改, 如果可以, 是否有哪些限制? 是否可以將這些記錄定時彙整到另一個Table後再查詢,  或者, 這是既有系統, 且必需即時看到資料, 無法事後彙整?

等您回覆後, 大家可能比較能幫得上忙! 
本篇文章回覆於2002-04-08 13:10
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

summy
檢舉此回應
很感謝 Allen 耐心的為我開導,因為小弟是第一次接觸sql所以有很多地方不是用很正
統的做法,我們的系統是由我和我主管一起研究出來的,所以有很多改進的地方,希望各位前輩不吝指教!!!而針對我的問題,Allen 所說
FREQ1                        FREQ2                   TEST     Ttime
2017                          2025                     OK         2002/04/10
2017                          2025                     OK         2002/04/10
2017                          2025                     OK         2002/04/10
13372002_4_2_15_41    1337_1337D001      112                           
2017                          2025                     OK         2002/04/10
2017                          2025                     OK         2002/04/10
2017                          2025                     OK         2002/04/10
13372002_4_2_15_41    1337_1337D002      112  

其中最後五筆記錄因為測試序號為1337_1337D001, 是重覆的, 因此要全部刪除, right ?

正是我 所需要的東東,13372002_4_2_15_41 是以時間為名稱做檔名,1337_1337D002 是以 P/N 為名稱做檔名,這兩項都是跟在table的最後面。

A前輩,我之所以會以每個Model用一個TABLE是因為我們需要做立即監視,產線的產能,我怕如果把所有的TABLE整合在一起,會容易出錯,因為所有TABLE的重複性滿高的說!!!

本篇文章回覆於2002-04-08 15:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

Allen
捐贈 VP 給 Allen 檢舉此回應
就我認知, 您的需求應該做不到哦!
如果可以加一個Group ID欄位, 變成改成
GID      FREQ1                        FREQ2                   TEST     Ttime
1          2017                          2025                     OK         2002/04/10
1          2017                          2025                     OK         2002/04/10
1          2017                          2025                     OK         2002/04/10
1          13372002_4_2_15_41    1337_1337D001      112                  
2          2017                          2025                     OK         2002/04/10
2          2017                          2025                     OK         2002/04/10
2          2017                          2025                     OK         2002/04/10
2          13372002_4_2_15_42    1337_1337D002      112                  
3          2017                          2025                     OK         2002/04/10
3          2017                          2025                     OK         2002/04/10
3          2017                          2025                     OK         2002/04/10
3          13372002_4_2_15_41    1337_1337D001      112                  
或許還有機會做到

我個人認為, 若改成二個Table可能是比較好的做法:
Table1
ID     FileName                      SerialName       ModelName  Samples   Ttime
1      13372002_4_2_15_41    1337_1337D001  Model1       112         2002/04/10
2      13372002_4_2_15_42    1337_1337D002  Model2       125         2002/04/10
3      13372002_4_2_15_41    1337_1337D001  Model1       112         2002/04/15

Table2
GID      FREQ1                        FREQ2                   TEST
1          2017                          2025                     OK
1          2017                          2025                     OK
1          2017                          2025                     OK
2          2017                          2025                     OK
2          2017                          2025                     OK
2          2017                          2025                     OK
3          2017                          2025                     OK
3          2017                          2025                     OK
3          2017                          2025                     OK

總共只有二個Table,如此一來應該是最容易做到的, 效率也是最好, 但您仍必需考量您的實際可行性就是, 如果這些記錄是由人工輸入的, 要做到這個結果應該不難, 如果數據是由機器讀取再自動寫入(依您目前的狀況, 我猜不是), 
無論是人工或機器自動讀取數據, 如果您可以接受這個資料庫架構, 應可以用SQL Server中的 Triger 做到即使彙整的工作, 在記錄新增的同時, 便記錄到我建議的這個二個Table中

以上意見, 供您參考。

本篇文章回覆於2002-04-08 15:52
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.