Advertisement
TRToC

Emillio Yu-Gi-Oh! Game Deck Event crazy SQL table join blah... Version 2 optimized

Mar 29th, 2025
439
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.51 KB | Source Code | 0 0
  1. var _joinedTables = from _dttFilter in _drFilter
  2.                     join _dtDeck in _dsYgo.Tables["Deck"].AsEnumerable()
  3.                     on int.Parse(_dttFilter["FK_Deck"].ToString())
  4.                     equals int.Parse(_dtDeck["PK_Deck"].ToString())
  5.  
  6.                     join _dtEvent in _dtEventsTemp.AsEnumerable()
  7.                     on (_dttFilter["FK_Event"].ToString() == "" ? -1 : int.Parse(_dttFilter["FK_Event"].ToString()))
  8.                     equals int.Parse(_dtEvent["PK_Event"].ToString())
  9.  
  10.                     let latestDeckList = _dsYgo.Tables["DeckList"].AsEnumerable()
  11.                         .Where(_drDeckList => _drDeckList["FK_Deck"].ToString() == _dtDeck["PK_Deck"].ToString() &&
  12.                                               DateTime.Parse(_drDeckList["Datum"].ToString()) < DateTime.Parse(_dttFilter["Start"].ToString()))
  13.                         .OrderByDescending(_drDeckList => DateTime.Parse(_drDeckList["Datum"].ToString()))
  14.                         .FirstOrDefault()
  15.                    
  16.                     select new
  17.                     {
  18.                         Start = _dttFilter["Start"],
  19.                         End = _dttFilter["End"],
  20.                         Deck = _dtDeck["Name"],
  21.                         Event = _dtEvent["Name"],
  22.                         CoinWin = _dttFilter["CoinWin"],
  23.                         Win = _dttFilter["Win"],
  24.                         FK_DeckList = latestDeckList != null ? latestDeckList["PK_Decklist"].ToString() : ""
  25.                     };
  26.  
Tags: C# sql Linq
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement