powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Помогите решить проблему на SQL
3 сообщений из 3, страница 1 из 1
Помогите решить проблему на SQL
    #34928528
Great Author
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ помонгите решить проблему!

Ситуация такая есть таблица ML(multi language) в которой храняться записи для 2 языков, у неё есть ключ USED_LOCALE_ID, по которому определяется текущая локаль. default_locale = 0
Проблема такая: у в этой ML таблице может не содержаться записи для конкретного языка и следовательно в этом случае нужно выводить запись, соответствующую default_locale. Запись для default_locale содержиться всегда.
Задача у меня такая; мне нужно в запросе каким то образом определить существует ли запись в ML таблице и если нет, то вывести запись по дефаулту.
Вот.
Можно ли эту задачу решить на ANSI-SQL???
Если да, то подскажите как??? Я уже весь мозг себе разрушил!!!


SELECT t.ID AS TICKET_ID,
tml.NAME AS STATUS
....
LEFT OUTER JOIN TICKET_STATUS_ML_ATTRS tml
ON (t.TICKET_STATUS_ID = tml.TICKET_STATUS_ID)
WHERE
((tml.USED_LOCALE_ID = 1 AND tml.TICKET_STATUS_ID = (SELECT ttt.TICKET_STATUS_ID FROM TICKET_STATUS_ML_ATTRS ttt WHERE
ttt.TICKET_STATUS_ID = t.TICKET_STATUS_ID AND
ttt.USED_LOCALE_ID = 1))
OR
tml.USED_LOCALE_ID = 0)

Вот такой запрос не работает и работать не может.
в случае если есть обе записи, данные двоятся.
Да и вообще это глупость написана....
...
Рейтинг: 0 / 0
Помогите решить проблему на SQL
    #34928880
mustaccio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не совсем понятна структура ваших таблиц, но, наверное, что-то вроде этого:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
SELECT t.ID AS TICKET_ID,
coalesce(tml.NAME,dft.name) AS STATUS
from 
....
inner join TICKET_STATUS_ML_ATTRS dft
ON t.TICKET_STATUS_ID = dft.TICKET_STATUS_ID and dft.used_locale_id =  0 
left outer join TICKET_STATUS_ML_ATTRS tml
ON t.TICKET_STATUS_ID = tml.TICKET_STATUS_ID and tml.used_locale_id =  1 
...
Рейтинг: 0 / 0
Помогите решить проблему на SQL
    #34931767
Great Author
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо, mustaccio. Очень помог.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Помогите решить проблему на SQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]