J'utilise MySQL avec le langage Visual Studio 2010 C#.Instruction IF avec plusieurs SELECT dans MySQL
Je dois faire une requête.
SELECT a field, if this field is null or equals to 0
Faire une autre SELECT
et si elle est différente de <>
null
ou 0
. Effectuez une autre SELECT
.
J'ai également essayé de suivre la suggestion qui apparaît lorsque vous écrivez le titre ci-dessus, mais rien.
quelque chose comme:
SELECT cart.cod_dependent (if cart.cod_dependent <> 0, Select ass.matricula, ass.nome, ass.situacao_social, ass.categoria, ELSE IF cart.cod_dependent = null Make another select)
Chaque sélectionnez sera dans les différents tableaux, mais dans la même base de données.
------ -------- Mise à jour 10/08/2012 09h59 Maintenant, j'essaie ce que vous avez dit Radu Bompa, mais il dit « encoutering erreur fatale pendant la Commande d'exécution "= \.
MySqlCommand cmd = new MySqlCommand();
string sql = @"SELECT @cod_dep = cart.cod_dependente FROM carteiras as cart
IF @cod_dep IS NULL
BEGIN
SELECT ass.matricula, ass.nome, ass.situacao_social, ass.categoria FROM associados AS ass INNER JOIN categorias AS cat ON cat.codigo = ass.categoria,
INNER JOIN situacoes_social AS ss ON ass.situacao_social = ss.codigo
END
ELSE
BEGIN
SELECT dep.nome, dep.matricula, dep.situacao_social, ss.descricao FROM dependentes INNER JOIN situacao_social as ss dep.situacao_social = ss.codigo
END
WHERE cart.numero = @carteira";
cmd.CommandText = sql;
cmd.CommandType = CommandType.Text;
string dependente = "";
cmd.Parameters.Add(new MySqlParameter("@carteira", MySqlDbType.Int32)).Value = carteira;
DataSet ds = _dal.Consultar(cmd);
Merci de m'avoir répondu Radu Bompa, mais dites-moi, ce @SomeValue est juste une «chose» que vous utilisez pour comparer, comme les requêtes que nous utilisons pour exécuter avec MySqlcommand.Parameter.Add (nouveau MySq [...]) ; ? Ou je dois le comparer avec une certaine valeur? Je vais essayer sans une certaine valeur, merci encore. –
Dans l'instruction SELECT, vous n'avez pas à comparer SomeValue, la comparaison est faite dans l'instruction IF, en utilisant IS NULL. –
S'il vous plaît si ce n'est pas trop, jetez un oeil à mon poste de mise à jour et voir ce qui ne va pas ... Merci –