J'essaie d'exécuter la requête suivante sur MS SQL 2012 Express:
Select (
Select Id, Salt, Password, BannedEndDate
from Users
where username = '" + LoginModel.Username + "'
), (
Select Count(*)
From LoginFails
where username = '" + LoginModel.Username + "'
And IP = '" + Request.ServerVariables["REMOTE_ADDR"] + "')"
);
Mais j'obtiens l'erreur suivante:
Une seule expression peut être spécifiée dans la liste
select
lorsque la sous-requête n'est pas introduite avecEXISTS
.
Comment puis-je résoudre ce problème?
Essaye ça:
Select
Id,
Salt,
Password,
BannedEndDate,
(Select Count(*)
From LoginFails
Where username = '" + LoginModel.Username + "' And IP = '" + Request.ServerVariables["REMOTE_ADDR"] + "')
From Users
Where username = '" + LoginModel.Username + "'
Et je vous recommande fortement d'utiliser des paramètres dans votre requête pour éviter les risques de sécurité avec les attaques par injection SQL!
J'espère que ça t'as aidé!
Essaye celui-là -
"SELECT
ID, Salt, password, BannedEndDate
, (
SELECT COUNT(1)
FROM dbo.LoginFails l
WHERE l.UserName = u.UserName
AND IP = '" + Request.ServerVariables["REMOTE_ADDR"] + "'
) AS cnt
FROM dbo.Users u
WHERE u.UserName = '" + LoginModel.Username + "'"