Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.25;
Скачать: CL | DM;

Вниз

Запрос SQL для TQuery.   Найти похожие ветки 

 
Weare ©   (2003-07-29 18:19) [0]

Помогите, плз. Книга дома, а мне ну о-очень срочно нужно. Есть две таблицы наименования товаров (и в одной и в другой есть поле Name). Как создать запрос, который бы давал таблицу, содержащую наименования из одной и из другой таблицы в одном и том же столбце, все равно в каком порядке.
А то я тут под конец дня совсем заработался.


 
Соловьев ©   (2003-07-29 18:21) [1]

связать по ключевому полю?

select t1.*, t2.*
from table1 t1 join table2 t2 on t1.Name=t2.Name


 
Weare ©   (2003-07-29 18:37) [2]

Тогда получается, что если в t2 нет такого наименования как в t1, то оно не попадет в результирующую таблицу. А мне необходимо, чтобы все наименования из первой и второй таблицы попали в один столбец.


 
Mike1 Kouzmine1   (2003-07-29 18:40) [3]

А ф1 тоже дома? Почитай про left join, right join в localsql.hlp


 
Соловьев ©   (2003-07-29 18:41) [4]


> Тогда получается, что если в t2 нет такого наименования
> как в t1, то оно не попадет в результирующую таблицу.


select t1.*, t2.*
from table1 t1 left join table2 t2 on t1.Name=t2.Name



> Mike1 Kouzmine1 (29.07.03 18:40)

прав. надо хоть чуть-чуть читать хелп.


 
Weare ©   (2003-07-29 19:07) [5]


> Mike1 Kouzmine1 (29.07.03 18:40)
> А ф1 тоже дома?

Не понял.


> Соловьев © (29.07.03 18:41)


> select t1.*, t2.*
> from table1 t1 left join table2 t2 on t1.Name=t2.Name

А так все равно получается два результирующих столбца: Name и Name1. А мне нужен один.
Вот, например, в одной таблице есть - сервиз, стакан; а во второй - ложка, хлебница, стакан.
Мне нужно, чтобы все эти наименования попали в один столбец результирующей таблицы.


 
Mike1 Kouzmine1   (2003-07-29 19:12) [6]

Тогда читай про union


 
gsvserg ©   (2003-07-29 19:30) [7]

select (t1.name +" "+ t2.name) as newname
from table1 t1 left join table2 t2 on t1.Name=t2.Name


 
Weare ©   (2003-07-29 19:45) [8]


> gsvserg © (29.07.03 19:30)

Спасибо, но так мне выдало наименования только из первой таблицы.
Еще раз.
Давайте так:

есть Table1: NAME и Table2: NAME
сервиз ложка
стакан хлебница
стакан
Нужно получить: Name
сервиз
стакан
ложка
хлебница
стакан


 
MichailDalacov   (2003-07-29 20:27) [9]

select NAME,1 from Table1
union
select NAME,2 from Table2


 
MichailDalacov   (2003-07-29 20:34) [10]

Если в Table1 или в Table2 имеются одинаковые товары, то во втором столбце константы не подойдут, нужно выбирать какие-то уникальные значения, например ID записей, если они не пересекаются в двух таблицах


 
Dred2k ©   (2003-07-29 21:35) [11]

> MichailDalacov (29.07.03 20:34)

Судя по > Weare © (29.07.03 19:45)
подойдут.


 
Weare ©   (2003-07-30 11:07) [12]


> MichailDalacov (29.07.03 20:27)
> select NAME,1 from Table1
> union
> select NAME,2 from Table2

Огромное спасибо, работает.



 
MichailDalacov   (2003-07-30 12:10) [13]

select NAME from Table1
union all
select NAME from Table2



Страницы: 1 вся ветка

Текущий архив: 2003.08.25;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.044 c
3-81599
fedot
2003-07-31 15:35
2003.08.25
Рушится таблица Paradox


4-81999
VD601
2003-06-23 22:59
2003.08.25
WM_SIZE - причина или следствие?


6-81863
Lexa2003
2003-06-17 11:24
2003.08.25
Как перехватить код странички в WebBrowser


14-81955
NetKnight
2003-08-06 12:43
2003.08.25
Написание FireWall


14-81902
Snake
2003-08-08 17:11
2003.08.25
Заполнение форм