1

以下のコマンドを試しました。の でDataSourceGridViewマイページに書いてあるので、やの.aspxような文字は使えません。このコードは何も返しません。のパラメータとして (string.empty, "" and null) も渡そうとしました。何も機能せず、他に何をすべきかわかりません...""''codebehind

SelectCommand="SELECT ch.id, sit.descricao as situacao, resp.responsavel, ch.dt_cadastro, ch.previsao_termino, func.descricao as funcionalidade, 
                                  proj.descricao as projeto ,pr.id as prid, pr.prioridade, clb.clube
                                  FROM chamados AS ch  
                                  INNER JOIN prioridades as pr  ON ch.prioridade = pr.id
                                  INNER JOIN clubes as clb ON ch.clube = clb.id 
                                  INNER JOIN responsaveis as resp ON ch.responsavel = resp.id
                                  INNER JOIN situacoes as sit ON ch.situacao = sit.id 
                                  INNER JOIN projetos as proj ON ch.projeto = proj.id
                                  INNER JOIN funcionalidades as func ON ch.funcionalidade = func.id WHERE ch.responsavel IS NULL"

Obs:nullフィールドであるため、フィルタリングしたいint32フィールド。(そんなことはint32あり得ないことはわかっていますnull)しかし、どうすればいいのかわからなかったので、頭に浮かんだことはすべて試しました。

4

2 に答える 2

0

私は問題を発見しました、それは:

INNER JOINS@valex が私に言ったように、私は and を使用しています:

The INNER JOIN joins ONLY fields which are NOT NULL. So these two statement except each other.

INNER JOIN解決策はforを変更することでLEFT JOIN、魅力的に機能しました!

みんな、ありがとう !

于 2013-01-23T18:25:24.890 に答える
0

INNER JOINこのステートメントで次を使用しているため、このクエリは常に結果を返しません。

INNER JOIN responsaveis as resp ON ch.responsavel = resp.id

フィールドWHEREの1つを比較するステートメントを使用しますINNER JOINNULL

WHERE ch.responsavel IS NULL

NOT NULLのINNER JOIN結合のみのフィールド。したがって、これら2つのステートメントは互いに異なります。

于 2013-01-23T13:41:57.933 に答える