Форум: "Базы";
Текущий архив: 2002.02.14;
Скачать: [xml.tar.bz2];
ВнизПРИВЕТ ВСЕМ!!! Помоготе построить запрос: Найти похожие ветки
← →
@andrew (2002-01-22 15:30) [0]есть грубо три таблицы: две - это справочники товаров(допустим 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 что-то типа: "без карты" и т.д. Как мне построить запрос?
Огромедное спасибо!
Или подскажите: может есть неплохой специальный форум по SQL?
← →
Delirium (2002-01-22 16:08) [1]если я правильно понял, то ниже следующее, а сайт - www.sql.ru
select t1.name as Name_Tovar,
isNull(t2.num,"без карты") as Card_Number
from t3
inner join t1 on t3.id_tovar=t1.id
right join t2 on t3.id_card=t2.id
← →
@andrew (2002-01-22 16:39) [2]нет не совсем то.
пример.
t2 t1
| id | num | | id | name |
| 1 | номер1 | | 1 | носки |
| 2 | номер2 | | 2 | ботинки |
t3
| id | id_tovar | id_card | что-то там........|
| 1 | 1 | 2 | -------------
| 2 | 1 | 1 | ----------
| 3 | 2 | 1 | ---------------
| 4 | 2 | NULL | -------------
Так вот хочу, чтобы запросом вернулось
| id | Name_Tovar | Card_Number | что-то там......|
| 1 | носки | номер2 |-------------
| 2 | носки | номер1 |-------------
| 3 | ботинки | номер1 |------------
| 4 | ботинки | без карты |-----------
Вот...
Мой запрос вернет вообще не вернет строку 4, не говоря о том, что чего-то там напишет.
← →
Delirium (2002-01-22 16:58) [3]Если t2.num уже символьное, то Convert не нужен
select
t2.id,
t1.Name as Tovar_Name,
isNull(Convert(VarChar,t2.num),"без карты") as Card_Number
from t3
left join t1 on t3.id_tovar=t1.id
left join t2 on t3.id_card =t2.id
← →
Спасибо (2002-01-22 17:15) [4]Удалено модератором
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.02.14;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.004 c