PHP inner join hakkında
Merhaba 3 adet tablom var hesaplar, gelir ve gider. Örnek olarak kullanıcı id'si 1 olanların hangi hesaplarının olduğunu ve o hesaplara ait gelir ve gider tablosundaki verilerini göstermek istiyorum. Hesaplar tablosunda o kullanıcıya ait hesaplar var yani toplam_para=sum(gelir)-sum(gider) yapmak istiyorum.
<?php
<?php
$gelir=$db->prepare("select hesap_id, hesap_adi, toplam_para, gelir_tutari, gider_tutari from hesaplar inner join gelir on hesaplar.kullanici_id=gelir.kullanici_id
inner join gider on hesaplar.kullanici_id=gider.kullanici_id where hesaplar.kullanici_id=$id GROUP BY hesaplar.hesap_adi
");
$gelir->execute();
$gelecek=$gelir->fetchAll();
print_r($gelecek);
foreach($gelecek as $hesaps){ ?>
<li class="hesap_listesi_hesaplar_hesap">
<a href="gecmis.php">
<span class="hesap_title"><?php echo ucfirst_tr($hesaps['hesap_adi']); ?></span>
<span class="hesap_bakiye"><?php echo number_format($hesaps['toplam_para'], 0, ",",".")." ₺";?></span>
</a>
</li>
<?php } ?>
?>
$sql = "SELECT
a.adi as AAdi,
a.id as AID,
a.istediğin veriler,
b.istediğin veriler,
c.istediğin veriler
FROM
a
INNER JOIN b ON a.id = b.id
INNER JOIN c ON a.id = c.id
WHERE a.id =?";
$sql->execute([$gelenAIDDEĞERİ]);
$row = $sql->fetch(2); // 2 PDO::FETCH_ASSOC demek oluyor
// a.id değeri ile eşleşen b.id ve c.id tablolarından SELECT den sonra yazdığın her veriyi çekebilirsin
söyle bakalım senin siparisler tablon var orda userID urunID tutuyorsun
siparislere gelen userID ve urunlere giden urunID sütünlarını users tablon var diyelim
users.id = siparisler.userID
urun.id = siparisler.urunID
şeklinde karşılaştırıp oan denk gelen bütün ve tek olarak siparişi çekebilirsin