値が前のレコードにある場合は、linqクエリでnullを選択します

crthompson

次のクエリについて考えてみます。

var ds = (from t1 in list1
          from t2 in list2
          select new {t1.Name, t2.Name}
         ).ToList();

これは次のようなものを返します:(大まかな表現)

Name1, InnerName1
Name1, InnerName2
Name2, InnerName1
Name2, InnerName2

私が取得したいのは:

Name1, InnerName1
Null, InnerName2
Name2, InnerName1
Null, InnerName2.

つまり、私はリストにすでにt1.Nameを持っている場合、私は、T1の結果の残りの部分にnullまたは空の文字列をたいと思います

結果をループできることはすでに知っていますが、これをデータソースとして使用しており、セットベースで何かを実行したいと考えています。

単一のクエリでこれを達成する方法はありますか?

pswg

Linq-to-Objectsを使用していると仮定すると、次のようなことができます。

string previous = null;
var results = 
    (from t1 in list1
     from t2 in list2
     select new {
         Name1 = (previous == t1.Name) ? null : (previous = t1.Name), 
         Name2 = t2.Name 
     })
    .ToList();

しかし、それは副作用に依存しており、特にエレガントではありません。あなたはこのようなものを好むかもしれません:

var result = 
    (from t1 in list1
     select 
       list2.Take(1)
         .Select(t2 => new { Name1 = t1.Name,  Name2 = t2.Name })
         .Concat(list2.Skip(1)
           .Select(t2 => new { Name1 = (string)null, Name2 = t2.Name }))
    .SelectMany(x => x)
    .ToList();

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

レコードを選択し、子がある場合は、代わりに最新の子を選択します

分類Dev

複数のタイプが一致する場合はクエリレコードを選択します

分類Dev

エラー-行にNull値がある場合、Linqクエリはtrueまたはfalseを返します

分類Dev

すべてのhas_manyの関連付けが `true`である場合にのみ親レコードを選択するためのRailsクエリ

分類Dev

レコードがない場合はnullを返し、レコードがある場合は値を返すSQLクエリを作成するにはどうすればよいですか?

分類Dev

ある列エントリの値を同じレコードの別の列エントリに対処します。値がnullの場合

分類Dev

アクセスでは、クエリはすべてのフィールドにレコードがある場合にのみ結果を表示します

分類Dev

mysqlは、複数のレコードの選択クエリでIDによって名前を取得します

分類Dev

null以外の値が存在する場合は選択し、そうでない場合はnullを選択しますが、常に行を選択します

分類Dev

レコードの特定の同じ値のみが複数ある場合は、1つのレコードのみを選択します

分類Dev

特定のキーでレコードを選択します。存在しない場合は、null値でフォールバックします

分類Dev

列に値が指定されている場合は各グループからレコードを選択し、そうでない場合は任意の1つのレコードを選択します

分類Dev

別のテーブルの値が0の場合、値が1である選択クエリの値を条件付きで0に置き換えます。

分類Dev

5番目のレコードごとにデータを選択することはできますが、レコードが最終日からのものである場合、すべてを最終日から選択しますか?

分類Dev

レコードのIDがアレイ内のIDのいずれかと同じである場合は、レコードを選択します

分類Dev

別のフィールドが空白/ nullの場合、レコード/結果を返さないクエリを選択します

分類Dev

値の1つにNULLフィールドがある場合にのみ、テーブルでGROUP_BYとGROUP_CONCATの同じ値を選択します

分類Dev

2つの列に最大値があるテーブルからレコードを選択するためのLINQクエリ

分類Dev

top句のパラメータがnullの場合にレコードを選択する方法はありますか?

分類Dev

値が別のテーブルにない場合にのみテーブル列から値を取得するには、クエリを選択します

分類Dev

値が別のテーブルにない場合にのみテーブル列から値を取得するには、クエリを選択します

分類Dev

ORACLEクエリ:値の名前に「/」が含まれている場合はテキストを選択します

分類Dev

値と一致しない場合は、「key = value」または「keyisnull」である単一のレコードを選択します

分類Dev

パラメータが null の場合はすべてのレコードを選択し、JPA 基準クエリで特定のアイテムを返します。

分類Dev

1つの選択に指定された値がある場合は、グループ全体を選択します

分類Dev

行にExcelの値がある場合は、値を選択します

分類Dev

IDは同じで、2つの列の値が異なるレコードを選択するSQLクエリ

分類Dev

フィールド値がnullまたはnullでない場合にgroovyでクエリを作成する方法

分類Dev

sqlは2つの選択クエリ結果をマージし、1つの列の値に競合がある場合は、クエリAの結果を保持します

Related 関連記事

  1. 1

    レコードを選択し、子がある場合は、代わりに最新の子を選択します

  2. 2

    複数のタイプが一致する場合はクエリレコードを選択します

  3. 3

    エラー-行にNull値がある場合、Linqクエリはtrueまたはfalseを返します

  4. 4

    すべてのhas_manyの関連付けが `true`である場合にのみ親レコードを選択するためのRailsクエリ

  5. 5

    レコードがない場合はnullを返し、レコードがある場合は値を返すSQLクエリを作成するにはどうすればよいですか?

  6. 6

    ある列エントリの値を同じレコードの別の列エントリに対処します。値がnullの場合

  7. 7

    アクセスでは、クエリはすべてのフィールドにレコードがある場合にのみ結果を表示します

  8. 8

    mysqlは、複数のレコードの選択クエリでIDによって名前を取得します

  9. 9

    null以外の値が存在する場合は選択し、そうでない場合はnullを選択しますが、常に行を選択します

  10. 10

    レコードの特定の同じ値のみが複数ある場合は、1つのレコードのみを選択します

  11. 11

    特定のキーでレコードを選択します。存在しない場合は、null値でフォールバックします

  12. 12

    列に値が指定されている場合は各グループからレコードを選択し、そうでない場合は任意の1つのレコードを選択します

  13. 13

    別のテーブルの値が0の場合、値が1である選択クエリの値を条件付きで0に置き換えます。

  14. 14

    5番目のレコードごとにデータを選択することはできますが、レコードが最終日からのものである場合、すべてを最終日から選択しますか?

  15. 15

    レコードのIDがアレイ内のIDのいずれかと同じである場合は、レコードを選択します

  16. 16

    別のフィールドが空白/ nullの場合、レコード/結果を返さないクエリを選択します

  17. 17

    値の1つにNULLフィールドがある場合にのみ、テーブルでGROUP_BYとGROUP_CONCATの同じ値を選択します

  18. 18

    2つの列に最大値があるテーブルからレコードを選択するためのLINQクエリ

  19. 19

    top句のパラメータがnullの場合にレコードを選択する方法はありますか?

  20. 20

    値が別のテーブルにない場合にのみテーブル列から値を取得するには、クエリを選択します

  21. 21

    値が別のテーブルにない場合にのみテーブル列から値を取得するには、クエリを選択します

  22. 22

    ORACLEクエリ:値の名前に「/」が含まれている場合はテキストを選択します

  23. 23

    値と一致しない場合は、「key = value」または「keyisnull」である単一のレコードを選択します

  24. 24

    パラメータが null の場合はすべてのレコードを選択し、JPA 基準クエリで特定のアイテムを返します。

  25. 25

    1つの選択に指定された値がある場合は、グループ全体を選択します

  26. 26

    行にExcelの値がある場合は、値を選択します

  27. 27

    IDは同じで、2つの列の値が異なるレコードを選択するSQLクエリ

  28. 28

    フィールド値がnullまたはnullでない場合にgroovyでクエリを作成する方法

  29. 29

    sqlは2つの選択クエリ結果をマージし、1つの列の値に競合がある場合は、クエリAの結果を保持します

ホットタグ

アーカイブ