У нас есть проект, в котором используется модель СУБД 1С8. Т.е. такие объекты как Справочники, Документы, РегистрыСведений и т.п.
В свое время для построения запросов в СУБД был реализован простейший транслятор запроса, описанного на объектах в родное выражение запроса для SQL.
Пример:
запрос
SELECT
this AS order,
date,
code,
PRESENTATION(ware) AS ware
FROM documents.orders
WHERE date > ‘2008-01-01’ and ware.caption LIKE (%КОЛБАСА%)
преобразуется к:
SELECT
t0.id AS order,
t0.date,
t0.code,
CONCAT(j0.caption, ‘ (‘, j0.code, ‘)’) AS ware,
FROM document10 AS t0
LEFT JOIN catalog9 AS j0 ON j0.id = t0.ware
WHERE t0.date > ‘2008-01-01’ and j0.caption LIKE (%КОЛБАСА%)
Суть, я думаю, ясна.
Сейчас, с развитием проекта требуется создать полноценный транслятор произвольных запросов (с вложенными SELECT, собственными JOIN, выражениями в полях и т.п.).
Я полагаю, именно здесь я смогу найти компетентного человека, кто поможет с этим. Отпишите мне на eurobax [гав] mail.ru, обсудим ваше участие.
Сам проект написан на PHP, но это не будет препятствием, главное работающая модель данного транслятора. Закодить это дело времени.