lostyazilim
tr.link

INNER JOIN Bilenler? Kafayı yemek üzereyim

2 Mesajlar 525 Okunma
lstbozum
tr.link

stepofall stepofall Kimlik Onayı Bekliyor Banlı Kullanıcı
  • Üyelik 15.01.2018
  • Yaş/Cinsiyet 50 / E
  • Meslek Turizm
  • Konum Konya
  • Ad Soyad H** A**
  • Mesajlar 47
  • Beğeniler 14 / 18
  • Ticaret 0, (%0)
Akşamdan beri uğraşıyorum, deli etti resmen...


SELECT
COUNT(*)
FROM users U
JOIN messages M ON
M.sent_id = U.ID
WHERE
U.ID = 1


Şimdi ben burada users tablosunu seçip, messages'e join oluyorum. Bu ID adresine ait mesajların sayısını çekiyorum. Her şey iyi güzel.

Ama sorun şurada, messages tablosunda time sütunu var bu mesajların en az birinin time yani gönderilme zamanı kullanıcının son aktivitesinden yüksek olmalı ki bu tüm mesajların sayısı ekrana basılsın. Yani eğer son aktiviteden sonra eğer mesaj gelmişse ekrana tüm mesajların sayısı basılsın.


Örnek;
messages sütununda "time" sütunu var, users tablosunda son_aktivite



Kendim Hallettim

Başkalarına lazım olursa;


SELECT
COUNT(*)
FROM users U
JOIN messages M ON
M.sent_id = U.ID
WHERE
U.ID = 1
HAVING
COUNT(IF(M.time > U.last_notify_time, 1, NULL)) > 0
tugrayaldiz

kişi bu mesajı beğendi.

wmaraci
reklam

stepofall stepofall Kimlik Onayı Bekliyor Banlı Kullanıcı
  • Üyelik 15.01.2018
  • Yaş/Cinsiyet 50 / E
  • Meslek Turizm
  • Konum Konya
  • Ad Soyad H** A**
  • Mesajlar 47
  • Beğeniler 14 / 18
  • Ticaret 0, (%0)
Koskoca forumda umarım bu kadar basit bir şeyi bilen vardır...
 

 

wmaraci
wmaraci
Konuyu toplam 2 kişi okuyor. (0 kullanıcı ve 2 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al