![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SQL в ADO [D5, Access]
Heathen © (2002-10-08 17:14:00)Всем привет!
Может кто-нибудь объяснить, почему при следующем запросе:
SELECT Таблица1.id_n,Таблица1.name,Таблица1.opisanie, Таблица2.*
FROM Таблица1, Таблица2
WHERE Таблица1.id_n = Таблица2.id_n and
выводится 6-ь столбцов вместо 3-х объединенных
но хуже всего что они пустые хотя данные в таблицах есть
(использую ADOQuery и таблицу Access)
Заранее спасибо!
Heathen (2002-10-09 14:39:00) [1]
Спасибо Val@!
Попробовал, все работает!
Задача была совместить несколько таблиц, затем отфильтровать-ну со вторым все понятно.
Balu (2002-10-08 20:36:00) [2]Add("SELECT Таблица1.Поле1, Таблица1.Поле2, Таблица1.Поле3,");
Add("Таблица2.Поле4, Таблица2.Поле5, Таблица2.Поле6");
Add("FROM Таблица1, Таблица2");
Add("WHERE Таблица1.id_n = Таблица2.id_n");
Или подправь точно, какие поля и от куда тебе нужны.
Второй способ: В DBGrid добавить только те поля, которые тебе нужны. Но первый вариант лучше.
Val (2002-10-08 18:31:00) [3]несколько путанный вопрос, может вы это хотите?
select *
from table1
union all
select *
from table2
но лучше бы, конечно, узнать задачу.
Heathen (2002-10-08 17:54:00) [4]
Понял, спасибо!
Вот седующая иструкция-работает,
Add("SELECT Таблица1.*, Таблица2.*");
Add("FROM Таблица1, Таблица2");
Add("WHERE Таблица1.id_n = Таблица2.id_n");
но хотелось чтоб выводилось не 6-ь столбцов в Gride а 3-и, ведь имена столбцов одинаковые.
Mike_Goblin (2002-10-08 17:42:00) [5]1. Потому что просим вывести Таблица2.* - т.е помимо явно указанных трех столбцов Таблица1.id_n,Таблица1.name,Таблица1.opisanie все столбцы из Таблица2
2.
WHERE Таблица1.id_n = Таблица2.id_n and
После and должно быть, видимо, еще одно условие, которое может отсекать все записи, либо в таблице Таблица2 нет записей с id_n, присутствующих в Таблице 1