Sobes.tech
Middle

SQL-də ünvan və qiymət doldurma səviyyəsi fərqli olan iki cədvəldən məlumatların necə birləşdirilməsi?

sobes.tech Süni İntellekt

AI-dan cavab

İki cədvəldən ünvan və qiymət doldurma səviyyələri fərqli olan məlumatları birləşdirmək üçün FULL OUTER JOIN operatorundan istifadə edə bilərsiniz. Bu, hər iki cədvəldəki bütün qeydləri birləşdirir və uyğun dəyərlər olmasa belə məlumatları saxlayır.

Nümunə:

SELECT
  COALESCE(t1.id, t2.id) AS id,
  COALESCE(t1.address, t2.address) AS address,
  COALESCE(t1.price, t2.price) AS price
FROM table1 t1
FULL OUTER JOIN table2 t2 ON t1.id = t2.id;

Burada:

  • COALESCE siyahıdakı ilk NULL olmayan dəyəri seçir və hər iki cədvəldən məlumatların birləşdirilməsinə imkan verir.
  • FULL OUTER JOIN hər iki cədvəldəki bütün qeydlərin nəticədə olmasını təmin edir, hətta bəzi məlumatlar mövcud olmasa belə.

Əgər çoxsaylı sahələr üzrə birləşdirmək və ya daha mürəkkəb məntiq istifadə etmək istəyirsinizsə, ON-a əlavə şərtlər əlavə edə və ya CASE istifadə edə bilərsiniz.