Sql запрос. Почему так?

uraura

New member
02.11.2008
1
0
#1
запрос работает но выдает на каждую запись из таблицы Vopros всю таблицу WarOt
а надо из той и другой строчку где Glava=Х и Nvopr=Х
в обоих таблицах есть идентичные поля Glava и Nvopr

INSERT INTO wremtabl (Field1, Field2, Field3, Field4, Field5, Field6, Field7, Field8, Field9 )
SELECT Vopros.Glava, Vopros.Nvopr, Voprosi, Otvet, Var1, Var2, Var3, Var4, Var5
FROM Vopros, WarOt
WHERE Glava =('+QuotedStr(gl)+') AND Nvopr =('+QuotedStr(nv)+')
 
E
#2
В запросе не видно использование Х. И прочитайте про JOIN'ы всякие.
 
N

Nikola007

#3
Используй псевдонимы
Select X.name1, X.name2, Y.name1, Y.name2
from table_name1 X, table_name2 Y
where X.name1 = Y.name2
так же можно использовать INNER JOIN, LEFT JOIN, RIGHT JOIN
или групировать GROUP BY 1,2,3(нумерация полей после оператора select с 1)
У Д А Ч И :)
 
P

Poseidon

#4
В общем виде где-то так:
{...}
WHERE (Glava =('+QuotedStr(gl)+') AND Nvopr =('+QuotedStr(nv)+'))
AND (Glava = Nvopr)

Но все жу лучше использовать псевдонимы