Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

фильтрация [D6, Paradox]


Страницы:   1 2 3

Andy Eremin ©   (2003-02-11 10:21:00) 

Мастера!
В результате проверки в SQL-запросе типа:
WHERE [условие1] or [условие2]
все нормально фильтруется, но происходит дубляж записей, т.е. каждая вторая запись - повторная.
Как их убрать?

Код такой:
Query1.SQL.Add("SELECT Materials.Mat_Name as Name,
Models.Mod_Name as Name2, Number, Cost ");
Query1.SQL.Add("FROM Materials, Models, Main");
Query1.SQL.Add("WHERE (Materials.Mat_Number=Number) OR (Models.Mod_CodeNumber=Number) ORDER BY Number");


Andy Eremin   (2003-02-11 11:06:00) [41]

2 Соловьев
Разницы нет, у меня и так - и так работает

2 stone
"INNER JOIN Models md " - что означает здесь md?
Может, просто
INNER JOIN Models on Models.Mod_CodeNumber=Main.Number ???


Reindeer Moss Eater   (2003-02-11 10:57:00) [42]

WHERE
(
(Materials.Mat_Number=Number) and (Models.Mod_CodeNumber=Number)
)
OR
(
(Materials.Mat_Number=Number) and (Models.Mod_CodeNumber<>Number)
)
OR
(
(Materials.Mat_Number<>Number) and (Models.Mod_CodeNumber=Number)
)


stone   (2003-02-11 10:55:00) [43]

SELECT mt.Mat_Name as Name,
md.Mod_Name as Name2, mn.Number, mn.Cost FROM Main mn
INNER JOIN Models md on md.Mod_CodeNumber=mn.Number
INNER JOIN Materials mt on mt.Mat_Number=mn.Number
ORDER BY Number


Соловьев   (2003-02-11 10:53:00) [44]

Так и указывай:
Main.Number


Andy Eremin   (2003-02-11 10:50:00) [45]

Пардон:
Materials и Models - таблицы с полями Mat_Number, Mat_Name и Mod_CodeNumber, Mod_Name соответственно.


Andy Eremin   (2003-02-11 10:48:00) [46]

Main - основная таблица, содержащая поля Number, Cost, (статические поля Name & Name2).
Materials и Models - таблицы с полями Mat_Number, Mat_Name и Mod_Number, Mod_CodeNumber соответственно.

Таблица Main содержит в поле Number коды материалов и моделей, имена которых находятся в таблицах Materials и Models.
Необходимо сформировать таблицу Main для визуального просмотра:
1. кода материала(или модели) [Number]
2. имя материала(или модели) [Name1 и Name2]=[Name]
3. Цены материала(или модели) [Cost]


stone   (2003-02-11 10:27:00) [47]



> "WHERE (Materials.Mat_Number=Number) OR (Models.Mod_CodeNumber=Number)
>

Number - это что? это к чему относится? к Materials, Models или Main?


Соловьев   (2003-02-11 10:26:00) [48]


> Query1.SQL.Add("FROM Materials, Models, Main");

А что такое Main?


Кило   (2003-02-11 10:24:00) [49]

Select distinct ....


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо