0
我正在使用MySQL和Visual Studio 2010 C#语言。在MySQL中具有多个SELECT的IF语句
我需要进行查询。
SELECT a field, if this field is null or equals to 0
再拍SELECT
如果是从null
或0
不同<>
。 再拍一张SELECT
。
我也试着按照上面写出标题时出现的建议,但没有。
类似:
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)
每一个选择将是在不同的表,但都在同一个数据库。
------ UPDATE 2012年10月8日09:59 -------- 现在,我想你说的话拉杜Bompa,但它说,在“致命错误encoutering执行命令“= \”。
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);
感谢您回答我Radu Bompa,但告诉我,这个@SomeValue只是一个用来比较的'东西',就像我们用来执行MySqlcommand.Parameter.Add(新的MySq [...])的查询一样。 ; ?或者我必须将其与某个值进行比较?我会尝试没有一定的价值,再次感谢。 –
在SELECT语句中,您不必比较SomeValue,通过使用IS NULL在IF语句中进行比较。 –
请不要太多,看看我的更新帖子,看看有什么问题...谢谢 –