0

Задача проста, но выглядит сложным для Crystal ReportsCrystal Reports получить все записи относительно поля

У меня есть эта таблица

ID GroupID PartyID ..... 
1 1  1 
2 1  2 
3 1  3 
4 2  2 
5 2  1 
... so on 

Так что для GroupID могут быть разные партии записей

Теперь я хочу получить все групповые записи партии №1, он должен возвращать группы 1 и 2 как

И если мне нужны записи для партии №3, то он должен возвращать только записи группы 1 (идентификаторы 1,2 и 3)

У меня есть PartyID, отправленный в Crystal Reports в качестве параметра.

Что происходит, когда я использую этот параметр для фильтрации результатов, является то, что я получаю только эту конкретную партийную запись. Напр. если part id = 1, тогда я получу только записи ID = 1 и 5, в то время как я должен получить все записи с 1 по 5 И если участник id = 3 передан, я получаю только идентификатор записи = 3, в то время как я должен получить (или хочу получить) записи ID = 1,2 и 3

Как я могу это достичь?

+0

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

+0

Похоже, что мы не можем этого сделать, кроме как отправлять отдельные идентификаторы групп вместо отправки идентификатора участника в качестве параметра. –

ответ

0

Для этого вы можете использовать self-join. Эффективно вы используете одну копию таблицы для идентификации значений GroupID, связанных с вашим PartyID, а затем используя вторую копию таблицы, чтобы найти все строки с этими значениями GroupID.

SELECT Table1.ID, Table1.GroupID, Table1.PartyID 
FROM Table Table1 
    INNER JOIN Table Table2 ON Table1.GroupID = Table2.GroupID 
WHERE Table2.PartyID = <<PartyID>> 
Смежные вопросы