Re: Нужен совет. Как правильнее сделать?
К сожалению сложно понять как лучше сделать без проекта, приложите пожалуйста проект и опишите на какой форме должно все это происходить.
My Visual Database → Russian → Нужен совет. Как правильнее сделать?
К сожалению сложно понять как лучше сделать без проекта, приложите пожалуйста проект и опишите на какой форме должно все это происходить.
Дмитрий.
Проект оправил по электронной почте.
Дмитрий!!!
Огромное спасибо расчеты работают.
Правда не заполняются значения sch.id_res. Проставляются значения NULL.
Отправил ответ в электронной переписке. Посмотрите пожалуйста, как добавить заполнение в таблицу sch.id_res.
Тема письма: "Re[2]: Fwd: Тема форума: Нужен совет. Как правильнее сделать?"
Здравствуйте.
Можно ли вывести в один Грид два SQL запроса.
Чтобы при нажатии кнопки formOth_printDisplay.Button9
Выводились столбцы: Name,Priznzam_1,Priznzam_2
Или правильнее делать через вычисляемые поля?
Если запросы для вывода в Грид можно объединить, то очень хотелось бы увидеть как это делается.
Сейчас есть отдельные SQL запросы.
1. Название столбцов: Name,Priznzam_1
formOth_printDisplay.Button7.dbSQL := ' SELECT mod_print.name, count(*) '+
' FROM res '+
' LEFT OUTER JOIN mod_print ON mod_print.id=res.id_mod_print '+
' WHERE (id_Priznzam = 1) '+
' group by id_mod_print';
2. Название столбцов: Name,Priznzam_2
formOth_printDisplay.Button8.dbSQL := ' SELECT mod_print.name, count(*) '+
' FROM res '+
' LEFT OUTER JOIN mod_print ON mod_print.id=res.id_mod_print '+
' WHERE (id_Priznzam = 2) '+
' group by id_mod_print';
Попробуйте так
formOth_printDisplay.Button7.dbSQL := ' SELECT mod_print.name, count(*) '+
' FROM res '+
' LEFT OUTER JOIN mod_print ON mod_print.id=res.id_mod_print '+
' WHERE id_Priznzam = 1 OR id_Priznzam = 2 '+
' group by id_mod_print ORDER BY id_Priznzam';
Спасибо Дмитрий.
Но это не совсем то, что хотелось бы увидеть.
Сейчас заполняется одно поле (count *)по условию OR ...
А хотелось бы, если возможно в Гриде получить 3 столбца: id,количество1,количество2 где:
количество1 =
SELECT mod_print.name, count(*)
FROM res
LEFT OUTER JOIN mod_print ON mod_print.id=res.id_mod_print
WHERE id_Priznzam = 1
group by id_mod_print
а количество1 =
SELECT mod_print.name, count(*)
FROM res
LEFT OUTER JOIN mod_print ON mod_print.id=res.id_mod_print
WHERE id_Priznzam = 2
group by id_mod_print
В случае если у принтера mod_print.name есть запись для id_Priznzam = 1 но нет записи для id_Priznzam = 2, то в столбце количество2 ставится '0' и наоборот
Как в примере
id |количество1|количество2
HP1200 | 7 | 0
HP1100 | 0 | 2
Canon800 | 4 | 8
Попробуйте так
SELECT
mod_print.name,
(SELECT COUNT(*) FROM res t1 WHERE t1.id_mod_print = res.id_mod_print AND t1.id_Priznzam = 1),
(SELECT COUNT(*) FROM res t2 WHERE t2.id_mod_print = res.id_mod_print AND t2.id_Priznzam = 2)
FROM res
LEFT OUTER JOIN mod_print ON mod_print.id=res.id_mod_print
My Visual Database → Russian → Нужен совет. Как правильнее сделать?
Powered by PunBB, supported by Informer Technologies, Inc.
Theme Hydrogen by Kushi