2011-09-01 37 views
1

我正在使用UniData 6.是否有與UniQuery SAMPLE關鍵字等效的UniData SQL?是否存在與UniQuery SAMPLE關鍵字等效的UniData SQL?

使用UniQuery,我一直能夠做到:

SELECT CUST BY NAME SAMPLE 1 

和它會給我的紀錄,第一字母的名字。

在SQL的UniData,我希望能夠做這樣的事情:

SELECT NAME FROM CUST ORDER BY NAME SAMPLE 1; 

...或者,如其他SQL數據庫...

SELECT TOP 1 NAME FROM CUST ORDER BY NAME; 

,並得到公正按字母順序排列的客戶名稱。有沒有像這樣的關鍵字?

回答

2

不幸的是,沒有,UniQuery SAMPLE關鍵字似乎沒有UniSQL等價物。 UniSQL由ANSI SQL-92標準的一個子集組成,支持多值的一些擴展。但是,ANSI SQL-92不包含用於限制從查詢返回的結果集的標準,這就是爲什麼各種DBMS具有不同語法的原因。

ANSI SQL-2008添加了FETCH FIRST子句,它是對查詢返回的行數執行限制的標準方式。這需要一個非常重要的更新,以使UniSQL達到最新標準,因爲它現在已經落後了20多年。用戶社區似乎沒有足夠的需求來承擔這一努力。

根據您的文件的架構,您可能能夠應用解決方法。如果您使用的是自動遞增的鍵,你可以使用語法如:

SELECT foo 
FROM bar 
WHERE @ID <= 10 

上面的查詢將被應用事實上的限制行數返回。

-2

SELECT通常只適用於記錄ID。如果您想列出屬性,請嘗試LIST:LIST INVENTORY PROD_NAME PRICE QTY SAMPLE,例如將返回前10個產品名稱,價格和數量。

+1

你好,傑西。歡迎來到Stack Overflow。 您所指的'SELECT'和'LIST'命令是UNIQUERY命令,而不是UniData SQL命令。我的問題具體是關於涉及UniData SQL的解決方案。 –

相關問題