Sparkで「and」を使用してsqlselectに空の条件を適用するにはどうすればよいですか?

user15148368

UuidConditionSetがあり、if条件が間違っている場合、selectステートメントに空の文字列を適用したい(またはこのUuidConditionSetを無視したい)のですが、このエラーが発生しました。この問題を解決する方法は?

mismatched input 'FROM' expecting <EOF>(line 10, pos 3)

これは選択です

(SELECT
 item,
 amount,
 date
 from my_table
 where record_type = 'myType'
 and ( date_format(date, "yyyy-MM-dd") >= '2020-02-27'
 and  date_format(date, "yyyy-MM-dd") <= '2020-02-28' )
 and ()
var UuidConditionSet = ""
var UuidCondition = Seq.empty[String]
    if(!UuidList.mkString.isEmpty) {
    UuidCondition = for {
        Uuid <- UuidList
        UuidConditionSet = s"${SQLColumnHelper.EVENT_INFO_STRUCT_NAME}.${SQLColumnHelper.UUID} = '".concat(eventUuid).concat("'")
        } yield UuidConditionSet
    UuidConditionSet = UuidCondition.reduce(_.concat(" or ").concat(_))
}


    s"""SELECT
        | ${SQLColumnHelper.STRUCT_NAME_ITEM},
        | ${SQLColumnHelper.STRUCT_NAME_AMOUNT},
        | ${SQLColumnHelper.DATE}
        | from ${sqlTableHelper.TABLE}
        | where ${SQLColumnHelper.EVENT_INFO_STRUCT_NAME} = '${RECORD_TYPE}'
        | and ( date_format(${SQLColumnHelper.DATE}, "${Constant.STAY_DATE_FORMAT}") >= '${stayDateRangeTuple._1}'
        | and  date_format(${SQLColumnHelper.DATE}, "${Constant.STAY_DATE_FORMAT}") <= '${stayDateRangeTuple._2}' )
        | and ($UuidConditionSet)
キゴシキンランチョウ

リストでパターンマッチングを使用しUuidListてサイズを確認し、リストが空の場合は空の文字列を返すことができますまた、ここINでは複数ORのの代わりに使用できます

これを試して:

val UuidCondition = UuidList match {
  case l if (l.size > 0) => {
    l.map(u => s"'$u'").mkString(
        s"and ${SQLColumnHelper.EVENT_INFO_STRUCT_NAME}.${SQLColumnHelper.UUID} in (",
        ",",
        ")"
      )
  }
  case _ => ""
}

s"""SELECT
  | ${SQLColumnHelper.STRUCT_NAME_ITEM},
  | ${SQLColumnHelper.STRUCT_NAME_AMOUNT},
  | ${SQLColumnHelper.DATE}
  | from ${sqlTableHelper.TABLE}
  | where ${SQLColumnHelper.EVENT_INFO_STRUCT_NAME} = '${RECORD_TYPE}'
  | and date_format(${SQLColumnHelper.DATE}, "${Constant.STAY_DATE_FORMAT}") >= '${stayDateRangeTuple._1}'
  | and date_format(${SQLColumnHelper.DATE}, "${Constant.STAY_DATE_FORMAT}") <= '${stayDateRangeTuple._2}'
  | $UuidCondition
"""

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

3つのJOINを使用してJPAでSQLSELECTを作成するにはどうすればよいですか?

分類Dev

LINQのif条件を適用するにはどうすればよいですか?

分類Dev

データの複数の列に適用される条件を使用して新しい変数を作成するにはどうすればよいですか?

分類Dev

テーブル値を介して条件を適用するにはどうすればよいですか?

分類Dev

条件を適用して文字列を反復処理するにはどうすればよいですか?

分類Dev

JavaScriptを使用して画像に透かしを適用するにはどうすればよいですか?

分類Dev

Angular:条件でDate Pipeを使用して、条件付きでスタイルを適用するにはどうすればよいですか?

分類Dev

FormControlを使用してValueにパッチを適用するにはどうすればよいですか

分類Dev

jQueryを使用してHTML要素にcss変換を適用するにはどうすればよいですか?

分類Dev

RXを使用して猶予時間を適用するにはどうすればよいですか?

分類Dev

CSSを適用してSweetalertを使用するにはどうすればよいですか?

分類Dev

複数の条件でRにRLE()関数を適用するにはどうすればよいですか?

分類Dev

複数の条件でRにRLE()関数を適用するにはどうすればよいですか?

分類Dev

Spark AR(Facebook用)でボタンを作成して使用するにはどうすればよいですか?

分類Dev

関数を作成してパンダの各行に適用するにはどうすればよいですか?

分類Dev

REGEXを使用してWordpressの投稿に適用されている古いスタイルを大量に削除するにはどうすればよいですか?

分類Dev

data.tableを使用してif-else条件を持つ関数を行ごとに適用するにはどうすればよいですか?

分類Dev

groupby条件を適用して、結果のすべての列を取得するにはどうすればよいですか?

分類Dev

FoxProでSQLSelectを使用して、NULLの存在しない列を追加するにはどうすればよいですか?

分類Dev

JavaScriptデコレータを使用して適用するにはどうすればよいですか?

分類Dev

2つのストリーム(nullなし)をマージしてペアに条件を適用するにはどうすればよいですか?

分類Dev

2つのストリーム(nullなし)をマージしてペアに条件を適用するにはどうすればよいですか?

分類Dev

分割の複数の条件でPandasGroupbyを適用し、複数の計算を適用するにはどうすればよいですか?

分類Dev

Haskellのデータに実行時条件を適用するにはどうすればよいですか?

分類Dev

JavascriptのforEachループに条件を適用するにはどうすればよいですか?

分類Dev

複数のgroup-by条件を適用して、pandasデータフレームの列で操作を実行するにはどうすればよいですか?

分類Dev

MinMaxScaler()を使用して正規化をすべての列に適用し、カテゴリを除外するにはどうすればよいですか?

分類Dev

ラムダを各データフレーム行に適用して、2つの条件をテストするにはどうすればよいですか?

分類Dev

Pythonでmapとlambdaを使用してすべての文字列にintを適用するにはどうすればよいですか?

Related 関連記事

  1. 1

    3つのJOINを使用してJPAでSQLSELECTを作成するにはどうすればよいですか?

  2. 2

    LINQのif条件を適用するにはどうすればよいですか?

  3. 3

    データの複数の列に適用される条件を使用して新しい変数を作成するにはどうすればよいですか?

  4. 4

    テーブル値を介して条件を適用するにはどうすればよいですか?

  5. 5

    条件を適用して文字列を反復処理するにはどうすればよいですか?

  6. 6

    JavaScriptを使用して画像に透かしを適用するにはどうすればよいですか?

  7. 7

    Angular:条件でDate Pipeを使用して、条件付きでスタイルを適用するにはどうすればよいですか?

  8. 8

    FormControlを使用してValueにパッチを適用するにはどうすればよいですか

  9. 9

    jQueryを使用してHTML要素にcss変換を適用するにはどうすればよいですか?

  10. 10

    RXを使用して猶予時間を適用するにはどうすればよいですか?

  11. 11

    CSSを適用してSweetalertを使用するにはどうすればよいですか?

  12. 12

    複数の条件でRにRLE()関数を適用するにはどうすればよいですか?

  13. 13

    複数の条件でRにRLE()関数を適用するにはどうすればよいですか?

  14. 14

    Spark AR(Facebook用)でボタンを作成して使用するにはどうすればよいですか?

  15. 15

    関数を作成してパンダの各行に適用するにはどうすればよいですか?

  16. 16

    REGEXを使用してWordpressの投稿に適用されている古いスタイルを大量に削除するにはどうすればよいですか?

  17. 17

    data.tableを使用してif-else条件を持つ関数を行ごとに適用するにはどうすればよいですか?

  18. 18

    groupby条件を適用して、結果のすべての列を取得するにはどうすればよいですか?

  19. 19

    FoxProでSQLSelectを使用して、NULLの存在しない列を追加するにはどうすればよいですか?

  20. 20

    JavaScriptデコレータを使用して適用するにはどうすればよいですか?

  21. 21

    2つのストリーム(nullなし)をマージしてペアに条件を適用するにはどうすればよいですか?

  22. 22

    2つのストリーム(nullなし)をマージしてペアに条件を適用するにはどうすればよいですか?

  23. 23

    分割の複数の条件でPandasGroupbyを適用し、複数の計算を適用するにはどうすればよいですか?

  24. 24

    Haskellのデータに実行時条件を適用するにはどうすればよいですか?

  25. 25

    JavascriptのforEachループに条件を適用するにはどうすればよいですか?

  26. 26

    複数のgroup-by条件を適用して、pandasデータフレームの列で操作を実行するにはどうすればよいですか?

  27. 27

    MinMaxScaler()を使用して正規化をすべての列に適用し、カテゴリを除外するにはどうすればよいですか?

  28. 28

    ラムダを各データフレーム行に適用して、2つの条件をテストするにはどうすればよいですか?

  29. 29

    Pythonでmapとlambdaを使用してすべての文字列にintを適用するにはどうすればよいですか?

ホットタグ

アーカイブ