2013-11-20 70 views
0

如何根據一個字段從這些記錄中返回不同字段時找到一組不同的記錄?FILEMAKER SQL - 從具有不同列的記錄中獲取column2 1

ExecuteSQL ("SELECT DISTINCT account FROM Albums2"; ""; "") 

如何獲得在此類查詢中返回的另一個字段?

我的目標是從列表中的每個帳戶的1個實例獲取1條記錄。我將使用記錄中的ID填充全局,以便帳戶顯示在門戶中。然後,我想選擇一個帳戶,以便該帳戶中的所有記錄都將顯示在另一個門戶中。

丹的回答以下完美的作品:

SELECT account, MAX(id) FROM Albums2 GROUP BY account 
+0

你的意思是像'SELECT DISTINCT帳戶,姓名從專輯2' –

+0

選擇DISTINCT帳戶給我70條記錄。從這些記錄中,我想返回這些ID。 SELECT DISTINCT帳戶,id獲取表中的所有記錄,因爲每個id都是唯一的。 – user3014358

+0

好吧,讓我們假設你有兩個記錄:{{Account:abc,id:123}'和'{Account:abc,id:456}'你想要哪個id,你如何決定?也許如果你添加了樣本數據和預期的輸出以及任何規則,我們都會回答你的問題。 –

回答

0

我的語法錯誤在我原來的答覆道歉。我不再擁有Filemaker,但下面的代碼將與SQL一起工作。 Filemaker 12是否允許使用SQL「GROUP BY」語法?而 不是使用DISTINCT的行結合起來,你可以使用GROUP BY語法來代替:如果是這樣,這將解決這樣的問題:

SELECT account, MAX(id) FROM Albums2 GROUP BY account 

解釋(假設它的Filemaker 12作品)。爲此,您還需要使用像MAX()這樣的聚合函數作爲id列,以指示哪些非重複的id值保留在組合結果中。

+0

謝謝你的回答。在Filemaker 12中,這個表達式給出:ExecuteSQL(「SELECT DISTINCT account,MAX(id)FROM Albums2」;「」;「」)。也許FM SQL需要不同的語法? – user3014358

+0

我的Filemaker比較舊,所以在輸入之前我沒有機會檢查它。看起來像我的語法有分組錯誤。現在測試另一種可能性... –

+0

我更新了我的答案。我已經確認它可以在另一個符合SQL的數據庫中工作。我目前無法訪問Filemaker,但從理論上講,如果Filemaker允許GROUP BY,則應該可以工作。 –

相關問題