• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

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)+')
 
В запросе не видно использование Х. И прочитайте про JOIN'ы всякие.
 
Используй псевдонимы
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)
У Д А Ч И :)
 
В общем виде где-то так:
{...}
WHERE (Glava =('+QuotedStr(gl)+') AND Nvopr =('+QuotedStr(nv)+'))
AND (Glava = Nvopr)

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

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab