Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

دمج جميع المنتجات

جزء من قسم الأساسيات في رحلة SQL على Coddy — الدرس 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>

الآن قم بحساب نفس الجودة (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_id و quality

جرّب بنفسك

SELECT part_id, AVG(quality) AS quality
FROM (
    SELECT part_id, AVG(quality) AS quality
    FROM (
        SELECT part_id, (rpm * (watt + (SELECT AVG(watt) FROM enom_gilpane)) / size) as quality
        FROM enom_gilpane
    )
    GROUP BY part_id
    HAVING quality > AVG(quality)
    UNION ALL
    SELECT part_id, AVG(quality) AS quality
    FROM (
        SELECT part_id, (rpm * (watt + (SELECT AVG(watt) FROM castle_loctus)) / size) as quality
        FROM castle_loctus
    )
    GROUP BY part_id
    HAVING quality > AVG(quality)
    UNION ALL
    SELECT part_id, AVG(quality) AS quality
    FROM (
        SELECT part_id, (rpm * (watt + (SELECT AVG(watt) FROM honpan_bilopsa)) / size) as quality
        FROM honpan_bilopsa
    )
    GROUP BY part_id
    HAVING quality > AVG(quality)
    UNION ALL
    SELECT part_id, AVG(quality) AS quality
    FROM (
        SELECT part_id, (rpm * (watt + (SELECT AVG(watt) FROM yurnol_qoltam)) / size) as quality
        FROM yurnol_qoltam
    )
    GROUP BY part_id
    HAVING quality > AVG(quality)
)
GROUP BY part_id
ORDER BY quality DESC

جميع دروس الأساسيات