Menu
Coddy logo textTech

Combine All Products

CoddyのSQLジャーニー「基礎」セクションの一部。レッスン 55/72。

challenge icon

チャレンジ

中級

利用可能なテーブルと列:

  • <strong>enom_gilpane</strong>: <strong>part_id</strong>, <strong>rpm</strong>, <strong>watt</strong>, <strong>size</strong>
  • <strong>castle_loctus</strong>: <strong>part_id</strong>, <strong>rpm</strong>, <strong>watt</strong>, <strong>size</strong>
  • <strong>honpan_bilopsa</strong>: <strong>part_id</strong>, <strong>rpm</strong>, <strong>watt</strong>, <strong>size</strong>
  • <strong>yurnol_qoltam</strong>: <strong>part_id</strong>, <strong>rpm</strong>, <strong>watt</strong>, <strong>size</strong>

すべてのproducteachテーブルが1つのproductです)に対してsame qualityを計算し、UNION ALLを使ってそれらをすべて結合します:

quality_table as (
    SELECT * FROM filtered_quality_1
    UNION ALL
    SELECT * FROM filtered_quality_2
    UNION ALL 
    SELECT * FROM filtered_quality_3
    UNION ALL 
    SELECT * FROM filtered_quality_4
)

part_idquality を返します

自分で試してみよう

-- 最初の製品ブロックは前回のレッスンから引き継がれて、すでに用意されています
WITH filtered_enom_gilpane_quality as (
    WITH enom_gilpane_quality as (
        SELECT part_id, ((rpm * watt) / size) as quality
        FROM (
            SELECT part_id, rpm, watt + (select avg(watt) from enom_gilpane) as watt, size
            FROM enom_gilpane
        )
    )

    SELECT *
    FROM enom_gilpane_quality
    WHERE quality > (select avg(quality) from enom_gilpane_quality)
),
-- 以下の3つの製品テーブルそれぞれに対して同じブロックを作成してください
filtered_castle_loctus_quality as (
    ____
),
filtered_honpan_bilopsa_quality as (
    ____
),
filtered_yurnol_qoltam_quality as (
    ____
),
-- 4つのブロックを上下に重ねて、すべての行を保持します
quality_table as (
    SELECT * FROM filtered_enom_gilpane_quality
    ____
)

SELECT ____
FROM quality_table

基礎のすべてのレッスン

自分で練習してみよう: SQLプレイグラウンド