Topic: [Решено] Сложный SQL-запрос. Union
Доброго времени суток.
DriveSoft, прошу помощи - 3 день голову ломаю...
Имеется две таблицы и 2 SQL-запроса.
Структура первой таблицы ZapicNaPriem
id INTEGER PRIMARY KEY ASC,
Day TEXT,
Time TEXT,
id_Specializ INTEGER,
First_Name TEXT,
Patronymic TEXT,
id_Doctors INTEGER,
id_Price INTEGER,
id_Cena INTEGER,
Address TEXT,
Phone TEXT,
Kvit TEXT,
Last_Name TEXT,
id_Referal INTEGER,
id_Reforg INTEGER,
id_RefSpec INTEGER
Структура 2 таблицы MKB10Client
id INTEGER PRIMARY KEY,
id_mkb10 INTEGER,
id_ZapicNaPriem INTEGER,
Ishod TEXT
Связь между таблицами ZapicNaPriem.id = MKB10Client. id_ZapicNaPriem
2 отдельно работающих sql-запроса
SELECT
strftime('%d.%m.%Y', ZapicNaPriem.Day) AS Day
,Specializ.Spec
,Doctors.Fio
,Price.NameUsluga
,ZapicNaPriem.First_Name
,ZapicNaPriem.Last_Name
,ZapicNaPriem.Patronymic
FROM
ZapicNaPriem
LEFT OUTER JOIN Doctors ON Doctors.id=zapicnapriem.id_Doctors
LEFT OUTER JOIN Specializ ON Specializ.id=zapicnapriem.id_Specializ
LEFT OUTER JOIN Price ON Price.id=zapicnapriem.id_Price
WHERE
ZapicNaPriem.First_Name LIKE '{First_Name}' and
ZapicNaPriem.Last_Name LIKE '{Last_Name}' and
ZapicNaPriem.Patronymic LIKE '{Patronymic}'
2 запрос
SELECT
mkb10client.id
,mkb10.Code
,mkb10.Diagnoz
,Ishod
FROM
mkb10client
LEFT OUTER JOIN MKB10 ON MKB10.id=mkb10client.id_mkb10
where
id_ZapicNaPriem = {id}
Смысл - на одну запись в таблице ZapicNaPriem имеется несколько записей в таблице mkb10client. (аналогия Вашего примера тел. справочника)
Что хочу.
Долго думал как объяснить - проще скрином наверное ) Желтым выделены данные со 2 таблицы.
Т.е. хочу создать Report, в котором на одну строку с ZapicNaPriem добавить в столбик записи с mkb10client при условии ZapicNaPriem.id = MKB10Client. id_ZapicNaPriem. Пытаюсь через UNION, но не могу понять как во втором запросе правильно прописать условие поиска с другой таблицы
....
from
mkb10client
....
where
id_ZapicNaPriem = ZapicNaPriem.id
.