• 13-02-2019, 13:04:08
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba arkadaşlar başlık biraz saçma olmuş olabilir nasıl yazacağımı bilemedim

    şimdi benim 2 tablom var

    öreneğin aşağıdaki gibi 2 tablo olduğunu varsayar isek ben öyle bir sorgu istiyorum ki

    urun tablosundaki urun_id leri urunler tablosunda id ye eşitse ve bu eşitliklerin urun tablosunda durum lar 1 e eşitse urun_durum 1 güncellemesini istedim eşitlik yoksa urun_durum 2 olması

    urun tablom
    | id | urun_id  | durum |
    ----------------+--------+
    | 1 | 22          | 1     |
    | 2 | 22          | 2     |
    | 3 | 23          | 1     |
    | 4 | 23          | 1     |
    urunler TABLOM
    | id  | urun_durum |
    -----+--------------+
    | 22 | 0            |
    | 23 | 0            |

    yukkarda iki tablo arasında yapacağım sorgu sonucunda urunler tablosunun bu şekilde güncellenmesini istedim

    | id  | urun_durum |
    -----+--------------+
    | 22 | 2            |
    | 23 | 1            |
    aşağıdaki gibi sorgu ile etkilenen satırları buldum ancak bunları update yapamadım nasıl bir update sorgusu yapmalıyım?

    $query=$db->prepare("SELECT * FROM urunler INNER JOIN urun ON urun.urun_id = urunler.id AND urun.durum=1");
    				$query->execute();
    				$query->fetchAll(PDO::FETCH_GROUP);
  • 13-02-2019, 16:19:59
    #2
    Update işlemini tek sorguda halledebilirsin

    Burda sıkıntı urun tablonda aynı urun_id için birden fazla satır var , sorguyu yazarken id değeri yüksek olanı baz aldım

    UPDATE urunler
    Inner Join urun on urun.id = (select max(urun.id) from urun where urun.urun_id = urunler.id)
    SET urun_durum = IF(urun.durum = 1, 1, 2)
  • 13-02-2019, 23:25:54
    #3
    FaTe adlı üyeden alıntı: mesajı görüntüle
    Update işlemini tek sorguda halledebilirsin

    Burda sıkıntı urun tablonda aynı urun_id için birden fazla satır var , sorguyu yazarken id değeri yüksek olanı baz aldım

    UPDATE urunler
    Inner Join urun on urun.id = (select max(urun.id) from urun where urun.urun_id = urunler.id)
    SET urun_durum = IF(urun.durum = 1, 1, 2)
    teşekkürler hocam