1

Visual Studio 2010 C# 言語で MySQL を使用しています。

クエリを作成する必要があります。

SELECT a field, if this field is null or equals to 0

またはと異なるSELECT場合は、別のと を作成します。別のものを作る。<>null0SELECT

上記のタイトルを書いたときに表示される提案にも従おうとしましたが、何もしませんでした。

何かのようなもの:

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 10/08/2012 09:59 -------- 今、あなたが言ったことを試していますRadu Bompaですが、「実行コマンド中に致命的なエラーが発生しました」=\ と表示されます。

 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);
4

1 に答える 1

0

たぶん、このようなものがうまくいくかもしれません:

SELECT @SomeValue = cart.cod_dependent FROM cart   
--@SomeValue is a variable, declared for this purpose
IF @SomeValue IS NULL
BEGIN
  SELECT ass.matricula, ass.nome, ass.situacao_social, ass.categoria FROM table2
END
ELSE
BEGIN
  SELECT field FROM table3
END

ストアド プロシージャを使用することもできます。

于 2012-10-08T12:46:04.703 に答える