私はSQLクエリに基づいてレポートを生成しようとしています。 Source = "Web"
とその他のレポートを生成する必要があります(Source <> "Web"
なし)。私はこれについて複数の投稿を読んだが、誰も私に答えを与えなかった。以下の質問。単一のクエリ2つの反対のグループ
SELECT
content_provider,
provider_asset_id,
device_id,
carrier,
T.profile_id,
phonenumber,
dma,
CAST(asset_play_duration as decimal(15, 3)) AS asset_play_duration,
series_title,
episode_title,
source,
vsession_id AS session_id,
event_day
FROM
(SELECT
device_id,
program_asset_id,
vsession_id,
source,
vsession_start_ts,
batchtime,
vsession_end_ts,
IF (studio = '', network_tag, studio) AS content_provider,
provider_asset_id,
carrier,
profile_id,
phonenumber,
series_title,
episode_title,
content_type,
dma,
asset_play_duration,
source,
event_day,
ROW_NUMBER() OVER (PARTITION BY device_id, program_asset_id, vsession_id, vsession_start_ts ORDER BY batchtime DESC) AS rank
FROM ?) T
LEFT JOIN ? tp
ON T.profile_id = tp.profile_id
WHERE tp.profile_id IS NULL
AND T.rank = 1
**AND T.source <> "Web"**
AND T.event_day BETWEEN ? AND ?
つのレポートは、上記条件(T.Source <>"web"
)であるべきであり、他方はフィルタ(T.Source = "Web"
)なしでなければなりません。私はユニオンとインナーが参加しようとしましたが、どちらもうまくいきませんでした。どんな助けも必要です。
いつmySQLがウィンドウ関数をサポートし始めましたか? (質問は* mySQLとしてタグ付けされています*彼らはそこではうまくいきません...だからRDBMSは何ですか?) – xQbert
なぜUNION ALLを使用しませんか? – Teja
2つの分離した作業クエリ..を表示し、必要な結果を説明してください – scaisEdge