列のAS名を使用したMYSQLフィルタリング

aarelovich

このクエリ(最小バージョン)を使用して、テーブルから一部のデータをフィルタリングしています

SELECT DISTINCT 
t.name AS tname, 
CASE WHEN (t.task_group != -1) THEN (SELECT p.keyid FROM proyects AS p, task_groups AS tg WHERE tg.keyid = t.task_group AND tg.proyect = p.keyid) ELSE -1 END AS pkeyid 
FROM tasks AS t, task_users AS tu 
WHERE (t.status = '0' OR t.status = '1' OR t.status = '3') AND (t.keyid = tu.task) AND ((tu.worker = 5));

クエリは完全に機能します。しかし今、私は次のようにしていくつかの行をフィルタリングしたいと思います。

SELECT DISTINCT 
t.name AS tname, 
CASE WHEN (t.task_group != -1) THEN (SELECT p.keyid FROM proyects AS p, task_groups AS tg WHERE tg.keyid = t.task_group AND tg.proyect = p.keyid) ELSE -1 END AS pkeyid 
FROM tasks AS t, task_users AS tu 
WHERE (t.status = '0' OR t.status = '1' OR t.status = '3') AND (t.keyid = tu.task) AND ((tu.worker = 5)) AND ((pkeyid = 7) OR (pkeyid = 8) OR (pkeyid = 16))

構文エラー「不明な列 'pkeyid' in'where句 '」が表示されます

これが発生している理由を理解できます(pkeyidはfrom句のどのテーブルの列でもありません)。これを回避する簡単な方法はありますか?または、クエリ全体を書き直す必要がありますか?

Abhik Chakraborty

where句でエイリアス名を使用することはできません。何かをフィルタリングする際に使用する場合は、have句を使用する必要があります。

SELECT DISTINCT 
t.name AS tname, 
CASE WHEN (t.task_group != -1) THEN (SELECT p.keyid FROM proyects AS p, task_groups AS tg WHERE tg.keyid = t.task_group AND tg.proyect = p.keyid) ELSE -1 END AS pkeyid 
FROM tasks AS t, task_users AS tu 
WHERE 
(t.status = '0' OR t.status = '1' OR t.status = '3') 
AND t.keyid = tu.task 
AND tu.worker = 5
having
pkeyid = 7 or pkeyid = 8 or pkeyid = 16

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

配列演算を使用したnumpyのフィルタリング

分類Dev

YADCF - 非表示の列を使用したフィルタリング

分類Dev

jQuery-クラス名の配列を使用したテーブル行のフィルタリング

分類Dev

MYSQL:配列値を使用した列によるフィルタリング

分類Dev

外部キー名を使用したDjangoViewSetフィルタリング

分類Dev

配列の内容を使用した配列のフィルタリング

分類Dev

文字列のリストを使用したEntityFrameworkのフィルタリング

分類Dev

Swift4-配列を使用した配列のフィルタリング

分類Dev

dom-select列を使用したDataTable列のフィルタリング

分類Dev

javascriptを使用したjsonデータ配列のフィルタリング

分類Dev

バイナリを使用したphp配列のフィルタリング

分類Dev

再帰を使用したセル配列のフィルタリング

分類Dev

列の長さを使用したDataFrameのフィルタリング

分類Dev

javapoiを使用したExcelでの列のフィルタリング

分類Dev

javapoiを使用したExcelでの列のフィルタリング

分類Dev

str_detectを使用した複数の列のフィルタリング

分類Dev

「%in%」を使用した複数の列でのdplyrフィルタリング

分類Dev

フィルタリングを使用したAVG関数のMySQL精度

分類Dev

配列MapboxGLJSを使用したフィルタリング

分類Dev

AWKを使用した列数に基づく行のフィルタリング

分類Dev

jQuery grep()を使用したJSON配列のフィルタリング

分類Dev

値のregexpを使用したJSフィルタリング配列

分類Dev

1つの列に論理+ NA値を使用したフィルタリング

分類Dev

個々のファイル名を使用したtarfile.addのフィルタリング

分類Dev

.mapと.filterを使用して、既存の配列をフィルタリングし、新しいフィルタリングされた配列を作成します

分類Dev

awk を使用したデータのフィルタリング

分類Dev

fscanfを使用したラインのフィルタリング

分類Dev

文字列+文字列の配列を使用したオブジェクトの配列のフィルタリング

分類Dev

javascriptを使用した文字列によるjsonのフィールドのフィルタリング

Related 関連記事

  1. 1

    配列演算を使用したnumpyのフィルタリング

  2. 2

    YADCF - 非表示の列を使用したフィルタリング

  3. 3

    jQuery-クラス名の配列を使用したテーブル行のフィルタリング

  4. 4

    MYSQL:配列値を使用した列によるフィルタリング

  5. 5

    外部キー名を使用したDjangoViewSetフィルタリング

  6. 6

    配列の内容を使用した配列のフィルタリング

  7. 7

    文字列のリストを使用したEntityFrameworkのフィルタリング

  8. 8

    Swift4-配列を使用した配列のフィルタリング

  9. 9

    dom-select列を使用したDataTable列のフィルタリング

  10. 10

    javascriptを使用したjsonデータ配列のフィルタリング

  11. 11

    バイナリを使用したphp配列のフィルタリング

  12. 12

    再帰を使用したセル配列のフィルタリング

  13. 13

    列の長さを使用したDataFrameのフィルタリング

  14. 14

    javapoiを使用したExcelでの列のフィルタリング

  15. 15

    javapoiを使用したExcelでの列のフィルタリング

  16. 16

    str_detectを使用した複数の列のフィルタリング

  17. 17

    「%in%」を使用した複数の列でのdplyrフィルタリング

  18. 18

    フィルタリングを使用したAVG関数のMySQL精度

  19. 19

    配列MapboxGLJSを使用したフィルタリング

  20. 20

    AWKを使用した列数に基づく行のフィルタリング

  21. 21

    jQuery grep()を使用したJSON配列のフィルタリング

  22. 22

    値のregexpを使用したJSフィルタリング配列

  23. 23

    1つの列に論理+ NA値を使用したフィルタリング

  24. 24

    個々のファイル名を使用したtarfile.addのフィルタリング

  25. 25

    .mapと.filterを使用して、既存の配列をフィルタリングし、新しいフィルタリングされた配列を作成します

  26. 26

    awk を使用したデータのフィルタリング

  27. 27

    fscanfを使用したラインのフィルタリング

  28. 28

    文字列+文字列の配列を使用したオブジェクトの配列のフィルタリング

  29. 29

    javascriptを使用した文字列によるjsonのフィールドのフィルタリング

ホットタグ

アーカイブ