• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

  • Автор темы uraura
  • Дата начала
U

uraura

запрос работает но выдает на каждую запись из таблицы 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

etc

В запросе не видно использование Х. И прочитайте про JOIN'ы всякие.
 
N

Nikola007

Используй псевдонимы
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

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

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!