これは私のクエリです:
SELECT
`date`,
MAX(IF(`index_name` = 'Alerian MLP PR USD' AND `time_period`='M1', results, NULL)) AS `Alerian MLP PR USD`,
MAX(IF(`index_name` = 'MSCI EAFE Mid NR USD' AND `time_period`='M1', results, NULL)) AS `MSCI EAFE Mid NR USD`
FROM
`mst_ind`
GROUP BY `date`
問題は、次のような複数の NULL 値を返すことです。
そのクエリを次のような別のクエリ内にラップできます
SELECT * FROM (
SELECT
`date`,
MAX(IF(`index_name` = 'Alerian MLP PR USD' AND `time_period`='M1', results, NULL)) AS `Alerian MLP PR USD`,
MAX(IF(`index_name` = 'MSCI EAFE Mid NR USD' AND `time_period`='M1', results, NULL)) AS `MSCI EAFE Mid NR USD`
FROM
`mst_ind`
GROUP BY `date`
) sel
WHERE sel.`MSCI EAFE Mid NR USD` IS NOT NULL AND sel.'Alerian MLP PR USD' IS NOT NULL
しかし、「NOT NULL」句にすべてのフィールドをリストする必要があるため、これは良い解決策ではありません。
ここで NULL 値を削除するより簡単な方法はありますか?
ありがとう!