2

「空でない/nullでないフィールドの最大数」を持つレコードのレコードIDを取得するクエリ/SQLクエリのセットを探しています。
私は機能を調べていましcount()max()が、同じ列の問題を解決しているようですが、同じ行の問題は解決していないようです(これが私が探しているものです)。

助けてください。

4

1 に答える 1

1

order by空でないフィールドの量を次のように指定できます。

select  top 1 Record_ID
from    YourTable
order by
        case when isnull(col1,'') <> '' then 1 else 0 end +
        case when isnull(col2,'') <> '' then 1 else 0 end +
        case when isnull(col3,'') <> '' then 1 else 0 end +
        ...
        case when isnull(colN,'') <> '' then 1 else 0 end

これは SQL Server の構文です。別のデータベースを使用している場合は、質問を修正してください。

于 2012-12-03T10:58:07.443 に答える