1

私の問題を説明する方法がわからないので、ここに例を示します:

テーブル製品

id_product / name_product
1          / aphone
2          / bphone

テーブル tyds、product_tyd = id_product

id_tyd     / product_tyd   /    user_tyd   /   action_tyd    /  data_tyd
11          /      1        /      1        /      5          /   null
12          /      1        /      1        /      8          /   150
13          /      1        /      2        /      3          /   null
14          /      1        /      2        /     -8          /   250
15          /      2        /      3        /      2          /   null
16          /      2        /      3        /      8          /   150
17          /      2        /      2        /      6          /   null
18          /      2        /      2        /      8          /   250

table collections は table tyds とまったく同じですが、古い行の場合:

id_collection / product_collection / user_collection / action_collection / data_collection

    1         /      1             /      9          /      5            /   null
    2         /      1             /      9          /     -3            /   null
    3         /      1             /      9          /     -8            /   150

したがって、action_collection = 8 OR -8 - action_tyd = 8 OR -8 で、各行に対して data_tyd AND/OR data_collection 値を指定するが、特定の id_product に対してのみ...

そんな感じ :

id_product = 1 のリクエストに対して期待している結果:

id_product    /    user_x    /   action_x  / data_x
     1        /       1      /       8     /   150
     1        /       2      /      -8     /   250
     1        /       9      /      -8     /   150

したがって、ポイントは、action_tyd AND data_tyd に依存することです。これは、他のリクエストで CASE を使用し、どのテーブルが含まれているかに関係なく行をフィルター処理することです...もちろん、同じ列名ではないことを除いて...

私の例が明確であることを願っています...私は実際に2つの別々のリクエストでそれを作ろうとしています. 1 つはテーブル tyds 用、もう 1 つはテーブル コレクション用で、それは可能だと思いますが、1 つのリクエストでも作業を行うことができます...

ご協力いただきありがとうございます !

4

1 に答える 1