Вниз
Скачать: CL | DM;

ПРИВЕТ ВСЕМ!!! Помоготе построить запрос:   Найти похожие ветки 

← →
@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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.006 c
1-42808
Ig
2002-01-31 23:37
2002.02.14
Нужны алгоритмы обработки изображений!!!


3-42677
Натик
2002-01-18 13:07
2002.02.14
Index is out of date


1-42775
M@XIDROM
2002-01-21 01:53
2002.02.14
Файл, состоящий из картинок!


1-42718
SAlex
2002-01-30 12:01
2002.02.14
<B>Text Object Model </B>


14-42835
Corte
2001-12-25 08:42
2002.02.14
Есть вопрос!




   Наверх