Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

SQL de 2 den fazla tablo birleştirme (join değil)

Konu, 'PHP' kısmında leventbekdemir tarafından paylaşıldı.

  1. leventbekdemir

    leventbekdemir Yeni Üye

    Kayıt:
    28 Ekim 2010
    Mesajlar:
    14
    Beğenilen Mesajlar:
    0
    Merhaba arkadaşlar benim sorunum 2 den fazla (muhtemelen 5-6 tane) tabloyu birleştirmek istiyorum fakat asıl sorunum ilk 2 sini birleştirmede başlıyo.Normalde 5-6 tane tabloyu join ile birleştirebilirsiniz evet fakat benim sorunum başka
    Diyelimki elimizde table1 isminde bi tablomuz olsun şu şekilde
    [​IMG]
    Bi tanede table2 isminde bi tablomuz olsun oda şöyle
    [​IMG]
    ben bu iki tabloyu ilk 2 tablo olarak birleştirmek istiyorum (daha sonra bunlara 2-3 tane daha eklenicek fakat onlar kolay)
    şimdi bu iki tabloyu join ile birleştiremem çünkü belirleyebiliceğim bi şart yok. yani join...on... şeklinde birleştirme yapıyoruz fakat burda şu iki kolon birbirine eşit olsun diyebilceğim bişey yok. zaten ben satırları birleştirmek istemiyorum. 2 ayrı bu tablodaki satırları altalta dizdirerek hayali bi table3 yaratmak istiyorum (create table olayı değil)
    yani table3 şu şekilde olucak
    [​IMG]

    burdaki tek şart , type a göre (ASC veya DESC farketmez) yani type a göre sıralama yapıcak, her 2 tablodan satırları alıcak (satırları belli bi şarta göre birleştirmiycek alt alta alıcak)

    bunu yaparsam işim tamam, daha sonra tabi bu yeni oluşturulan table3 e 2-3 tane daha tablo ekliyicem fakat onları join...on... şeklinde yapabilirim çünkü belirleyebiliceğim şartlar olucak.

    Anlayıp yardımcı olan olursa çok makbule geçer :)
     
  2. dumanist

    dumanist Daimi Üye

    Kayıt:
    7 Ekim 2007
    Mesajlar:
    740
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Yazılım Uzmanı
    Şehir:
    Ankara
    Kod:
    SELECT name from table1 union all select name from table2
    
     
  3. leventbekdemir

    leventbekdemir Yeni Üye

    Kayıt:
    28 Ekim 2010
    Mesajlar:
    14
    Beğenilen Mesajlar:
    0
    çok teşekkürler işime yaradı fakat şöyle bişey denediğimde hata verdi

    Kod:
    select t1.name,t2.name,date from fling as t3 inner join users as t1 on t3.id1=t1.id join users as t2 on t3.id2=t2.id union all select t1.name,t2.name,date from asked as t3 inner join users as t1 on t3.id1=t1.id join users as t2 on t3.id2=t2.id order by date desc
     
  4. leventbekdemir

    leventbekdemir Yeni Üye

    Kayıt:
    28 Ekim 2010
    Mesajlar:
    14
    Beğenilen Mesajlar:
    0
    neyse tamamdır hallettim sorunu baya bi uğraştım ama şu en son yazdığımın 2 katı bişey yazdım oldu istediğim şey sonunda :D
    bu arada "dumanist" çok sağol fikir için çok işime yaradı
     
  5. Lnxtr

    Lnxtr Daimi Üye

    Kayıt:
    11 Mayıs 2006
    Mesajlar:
    1,345
    Beğenilen Mesajlar:
    2
    Meslek:
    İşsiz
    Şehir:
    Denizli
    Nasıl yapmıştınız paylaşabilirmisiniz acaba?