• 01-12-2015, 15:54:45
    #1
    Merhaba arkadaşlar,

    3 farklı tablodan döngü ile veri çekmem gerek.İnner join pek işime yaramıyor gibi, farklı bir önerisi olan var mı ?
  • 02-12-2015, 12:31:07
    #2
    iç içe döngüler de kurabilirsiniz, hangi tablolardan hangi verileri çekeceğinizi söylerseniz yardımcı olabiliriz.
  • 02-12-2015, 21:01:51
    #3
    union fonksiyonunu kullanabilirsin... Örnekler ve kullanımı hakkında bilgi almak için: http://www.w3schools.com/sql/sql_union.asp
    Örnek Kod:
    SELECT City FROM Customers
    UNION ALL
    SELECT City FROM Suppliers
    ORDER BY City;
    Alttaki kodu 3. bir tablodan veri çekmek için denedim ve sonuç olumlu (Products tablosundaki ProductName sütununu da sanırım City olarak yazdırdı):
    SELECT City FROM Customers
    UNION ALL
    SELECT City FROM Suppliers
    UNION ALL
    SELECT ProductName FROM Products
    ORDER BY City;
    Bu kod da üstteki kodun test sayfasındaki orjinal hali:
    SELECT City FROM Customers
    UNION
    SELECT City FROM Suppliers
    ORDER BY City;
    İşinize yarayacaktır...
  • 03-12-2015, 10:25:45
    #4
    Oracle ya da MsSql tarzında veritabanlarında basitçe belki yapılabilir ama php de sorguda biraz uğraştırır sanki, en güzeli Navicat gibi bir program yardımıyla devamlı lazım olacak bu tarz işlemler için view oluşturup viewden direk çekmek diye düşünüyorum.
  • 03-12-2015, 11:34:33
    #5
    istizan adlı üyeden alıntı: mesajı görüntüle
    Oracle ya da MsSql tarzında veritabanlarında basitçe belki yapılabilir ama php de sorguda biraz uğraştırır sanki, en güzeli Navicat gibi bir program yardımıyla devamlı lazım olacak bu tarz işlemler için view oluşturup viewden direk çekmek diye düşünüyorum.
    Arkadaşın sorusu zaten php ile ilgili değil, SQL ile ilgili.
    MySQL de MsSQL de Oracle da diğerleri de hemen hemen birbiri ile aynı olduğundan bu tarz basit sorguları kolayca gerçekleştirebilirler.
  • 03-12-2015, 11:44:16
    #6
    Doğrudur o zaman benim yaptığım en basit şekilde şöyle olabilir.

    select t1.sicilno,t2.ad,t2.soyad,t3.netmaas from tblsicil t1,personel t2, hesap t3
    where t1.sicilno = t2.sicilno
    and t2.sicilno = t3.sicilno
    order by t1.sicilno asc
  • 03-12-2015, 12:50:20
    #7
    join cesitleri arastırmaanız gereklidir
  • 03-12-2015, 22:41:59
    #8
    ortak bi sutunları kullanarak joinlerle yapmalısınız kesin eşitlik için inner kullanmalısınız