sql >> データベース >  >> RDS >> PostgreSQL

postgres tablefunc crosstab()でnullの個々の値を返す

    関数の2番目の形式 を使用します :

    例:

    SELECT *
    FROM crosstab(
        $$
            SELECT lab_tests_results.batch_id, lab_tests.test_name, lab_tests_results.test_result::FLOAT
            FROM lab_tests_results, lab_tests
            WHERE lab_tests.id=lab_tests_results.lab_test 
            AND (
                lab_tests.test_name LIKE 'Test Name 1' 
                OR lab_tests.test_name LIKE 'Test Name 2')
            ORDER BY 1,2
        $$,
        $$ 
            VALUES('pH'), ('Temp') 
        $$
    ) AS final_result(batch_id VARCHAR, "pH" FLOAT, "Temp" FLOAT);
    



    1. すべてのテーブルを切り捨てます(ほとんどのテーブルには制約があります)。それらを一時的にドロップする方法

    2. PHPの特殊文字を削除します

    3. MAX(DATE)を使用したGROUP BY

    4. JSON_MERGE_PATCH()–MySQLでRFC7396準拠のJSONドキュメントのマージを実行します