Вопрос № 52401: Еще раз здравствуйте, уважаемые эксперты!
Я хочу задать вопрос в дополнение к вопросу № 50840. Возможно ли изменить текст SQL-запроса так, чтобы он показывал еще и PLACEID, PLACENAME для количества машин, равного 0. То есть выводил ВСЕ place...Вопрос № 52461: Встречался кто-нибудь с локализованной версией файла firebird.msg? Самому всё это локализовывать не очень весело! :) Спасибо...
Вопрос № 52.401
Еще раз здравствуйте, уважаемые эксперты!
Я хочу задать вопрос в дополнение к вопросу № 50840. Возможно ли изменить текст SQL-запроса так, чтобы он показывал еще и PLACEID, PLACENAME для количества машин, равного 0. То есть выводил ВСЕ placename - даже те, для которых CARSCOUNT равно 0.
Отвечает: Козлов Алексей Сергеевич
Здравствуйте, Балашов Григорий!
Это код нужно переписать так:
SELECT places.PlaceName, count(cars.carname) AS CarsCount FROM places LEFT JOIN cars ON places.placeid=cars.placeid GROUP BY places.placename
P.S. Есть еще оператор RIGHT JOIN
--------- Вы доставили мне истинное удовольствие парни, взвалив на меня Ваши проблемы (М. Фрай).
Ответ отправил: Козлов Алексей Сергеевич (статус: 4-ый класс)
Ответ отправлен: 17.08.2006, 12:00 Оценка за ответ: 5 Комментарий оценки: Огромное спасибо!!! То, что надо!!!
Отвечает: Александр Шевченко
Здравствуйте, Балашов Григорий!
select places.PlaceName, count(cars.carname) as CarsCount from places left join cars on places.placeid=cars.placeid group by places.placename
--------- Вместо внутренней почты лучше стучитесь в аську - 299739804
Ответ отправил: Александр Шевченко (статус: Студент)
Ответ отправлен: 17.08.2006, 12:09 Оценка за ответ: 5 Комментарий оценки: Отлично!!! Огромное спасибо!!!
Отвечает: Morgen_krsk
Здравствуйте, Балашов Григорий!
Все проще, зачем left joir, right join, ...
SELECT places.PlaceName, (SELECT COUNT(1) FROM cars WHERE places.placeid=cars.placeid) cnt FROM places
P.S. С самого начала писал ответ где-то выше, но видимо он пропал :(
Ответ отправил: Morgen_krsk (статус: 2-ой класс)
Ответ отправлен: 17.08.2006, 16:21
Вопрос № 52.461
Встречался кто-нибудь с локализованной версией файла firebird.msg? Самому всё это локализовывать не очень весело! :) Спасибо
Отвечает: Morgen_krsk
Здравствуйте, Валерий Кравцов!
Может поможет, выдержка из интернета
"обработка ошибок и client-server никак не связаны ... Сделайте 1 модуль сообщений об ошибках, или действительно храните их в таблице в БД, и так далее. вариантов масса, а перевод сообщений firebird/interbase.msg - это в общем муть, как и усложнение кода на клиенте и сервере только для того, чтобы выдать сообщение о нарушении ПК клиенту на русском языке."
"... допустим берем TpFibErrorHandler, файл firebird.msg частично переведенный
> на русский и пытаемся в обработчике самостоятельно вывести сообщение из файла:
> 1. Как связать коды exception в файле firebird.msg с ErrorValue.SQLCode ? или
> 2. Где взять описание ошибок SQLCode, в документации по IB6 не нашел ?
гм, все коды ошибок приведены в langref.pdf. Есть класс (в IBX, Fibplus и т.п.)
который содержит полное описание ошибки - ее номер, текст сообщения и т.п.
если что, обращайся в news://news.better-office.com/de.news.devrace.fibplus.rus
--
Dmitri Kouzmenko, www.ibase.ru, 953-13-34"
Ответ отправил: Morgen_krsk (статус: 2-ой класс)
Ответ отправлен: 17.08.2006, 19:02