2013-11-20 3 views
0

Как найти отдельный набор записей на основе одного поля, возвращая другое поле из этих записей?FILEMAKER SQL - выборка столбца2 из записей с отдельным столбцом1

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

Как получить другое поле, возвращаемое в этом типе запроса?

Моя цель - извлечь 1 запись из 1 экземпляра каждой учетной записи в списке. Я собираюсь заполнить глобальный идентификатор из записей, чтобы учетные записи отображались на портале. Затем я хочу выбрать учетную запись, чтобы все записи из учетной записи отображались на другом портале.

ответ Дэна ниже работает отлично:

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

Вы имеете в виду как 'SELECT DISTINCT account, Name FROM Albums2' –

+0

Учетная запись SELECT DISTINCT дает мне 70 записей. Из каждой из этих записей я хотел бы вернуть идентификатор. Учетная запись SELECT DISTINCT, идентификатор получает все записи в таблице, поскольку каждый идентификатор уникален. – user3014358

+0

Итак, предположим, что у вас есть две записи '{Account: abc, id: 123}' и '{Account: abc, id: 456}', какой идентификатор вы хотите и как вы решаете? Возможно, если бы вы добавили образцы данных и ожидаемый результат и какие-либо правила, у нас был бы шанс ответить на ваш вопрос. –

ответ

0

Я извиняюсь за синтаксической ошибки в моем оригинальный ответ. У меня больше нет Filemaker, но этот код ниже будет работать с SQL. Поддерживает ли Filemaker 12 синтаксис SQL «GROUP BY»? Если да, то было бы решить эту проблему так:

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

Объяснение (предполагается, что он работает в Filemaker 12): Вместо того чтобы использовать DISTINCT для объединения строк, вы можете использовать GROUP BY синтаксисе вместо этого. Для этого вам также понадобится использовать агрегатную функцию, например MAX() для столбца id, чтобы указать, какие из значений дублированных идентификаторов сохранить в объединенном результате.

+0

Благодарим вас за ответ. В Filemaker 12 это выражение дает : ExecuteSQL («Учетная запись SELECT DISTINCT, MAX (id) FROM Albums2»; »«; »). Возможно, FM SQL нуждается в другом синтаксисе? – user3014358

+0

My Filemaker старше, поэтому у меня не было возможности проверить его, прежде чем я его набрал. Похоже, мой синтаксис имеет ошибку группировки. Проверка другой возможности сейчас ... –

+0

Я обновил свой ответ. Я подтвердил, что он работает в другой SQL-совместимой базе данных. На данный момент у меня нет доступа к Filemaker, но теоретически это должно работать, если Filemaker позволяет GROUP BY. –

Смежные вопросы