私はmysqlクエリを持っていました:
Select count(*) as cnt from page06 where dl = 1 and TYPE = 'mempage' union
Select count(*) as cnt from page06 where err = 1 and TYPE = 'mempage' union
Select count(*) as cnt from page06 where dl = 1 and err=1 and TYPE = 'mempage'
ほとんどの場合dl
、err
列は0であるため、最後の2つの選択はを返し0
ます。このクエリは、私が期待したものではないものだけを返すことがわかりました。私はこの解決策を見つけました:
Select count(*) as cnt,'s' as p from page06 where dl = 1 and TYPE = 'mempage' union
Select count(*),'d' as p from page06 where err = 1 and TYPE = 'mempage' union
Select count(*),'f' as p from page06 where dl = 1 and err=1 and TYPE = 'mempage'
このクエリは完全に機能しますが、私は最初の形式でコードを記述しました。なぜこれが起こるのか知りたいのですが、この問題を解決するための解決策はありますか(私が言ったことを除いて)?
私が自分のソリューションを使用したくない理由は、変更したくない(または変更できない)クエリがたくさんあるからです。私が探しているのは、接続に設定するオプションの王様です(のように set names 'latin1';
)