Я думаю, что это должно быть легко, но это уклоняется от меня. У меня есть отношения «многие ко многим» между учетными записями и группами учетных записей. Учетная запись может состоять из нуля или более групп, поэтому я использую стандартную таблицу соединений.
Accounts
--------
ID
BankName
AcctNumber
Balance
AccountGroups
-------------
ID
GroupName
JoinAccountsGroups
------------------
AID
GID
Я использую MS Access, FWIW. Кроме того, это относится к ситуации с низкой пропускной способностью, поэтому оптимизация кода не так важна, как простота / удобочитаемость.
Я использую php в качестве слоя представления, поэтому результаты Access в чистом виде вполне подойдут.
Что касается того, что делать с ситуацией с несколькими результатами, у меня фактически есть две вещи, которые я пытаюсь построить. Первый перечисляет все группы в одном столбце таким образом:
Bank AcctNum Balance Groups
--------|--------------|----------|----------------
Citi 930938 400 Payroll
HSBC 8372933 100 Monthly, Payroll
Wells 09837 800 -
Chase 8730923 250 Monthly
Второй список основных деталей:
Name AcctNum Balance
------------|----------|----------
Payroll (2) 500
Citi 930938 400
HSBC 8372933 100
..................................
Monthly (2) 350
HSBC 8372933 100
Chase 8730923 250
..................................
Wells 09837 800
Для master-detail я планировал просто получить большой набор результатов из db и, при необходимости, изменить его на php. Так как в php все равно будет существенная постобработка, возможно, мне просто нужно выполнить три отдельных запроса и выполнить соединение там. (Так как мне больше нравится этот язык.)