Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
22.01.2002, 13:01
|
|||
---|---|---|---|
Помогите с запросом |
|||
#18+
есть грубо три таблицы: две - это справочники товаров(допустим t1) и дисконтных карт(t2), третья (t3) - журнал операций. Надо построить запрос к t3 так, чтобы вместо идентификаторов (id) карт вернулись номера карт. Что-то вроде Lookup поля в Delphi. Принципиально я знаю, как это сделать. select t1.name as [Name_Tovar], t2.num as [Card_Number]и далее др.поля from t3 inner join t1 on t3.id_tovar=t1.id inner join t2 on t3.id_card=t2.id и т.д. И будет все хорошо, НО! У меня необязательно к заполнению поле t3.id_card, а в этом случае мой запрос вообще не выдает строку, т.к. упирается в ошибку. А я хочу, чтобы в этом случае он выдал строку где пустой id_card, но написал в столбце Card_Number что-то типа: "без карты" и т.д. Как мне построить запрос? Огромедное спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.01.2002, 18:46
|
|||
---|---|---|---|
Помогите с запросом |
|||
#18+
select t1.name as [Name_Tovar], /*если t2.num varchar или char*/ isnull(t2.num, 'no card') as Card_Number /*в противном случае*/ isnull(cast(t2.num as varchar(20)), 'no card') as Card_Number from t3 inner join t1 on t3.id_tovar=t1.id left outer join t2 on t3.id_card=t2.id Советую просмотреть типы join'ов в BOL ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=58&tablet=1&tid=2120076]: |
0ms |
get settings: |
12ms |
get forum list: |
16ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
68ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 253ms |
total: | 424ms |
0 / 0 |