![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
фильтрация [D6, Paradox]
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 ....