ikinci bir sorgu için bir mysql sonuçları kullanılarak

3 Cevap php

İki tablo var:

  • ileti - sonrası bilgi tutar
  • dinlemek - dinlediğiniz ne diğer kullanıcılar hakkında bilgi tutar. (Görüntülemek istediğiniz kullanıcılar mesaj)

Dinleyen yapısı:

  • id (uniqueid)
  • Userid (kullanıcılar benzersiz id)
  • listenid (onlar da dinleyen bir kullanıcının kimliği)

Nasıl ben tüm kayıtlar aktif olan kullanıcılar kullanıcı adını bu mach dinlemek ve sonra görüntülemek istediğiniz kombine kullanıcıların mesajların bir sorgu oluşturmak amacıyla bulundu listenid değerlerden herhangi eşleşen tüm mesajları bulmak için bu kullanmak toplamak istiyorsunuz?

3 Cevap

Sen katılmak basit bir doğal veya diğer yanıtlar verilmiş olarak katılmak doğrudan ile yapabilirsiniz.

select 
  *
from 
  posts, listen 
where 
  listen.userid == $active_user and 
  posts.userid = listen.userid

You probably want to be more selective about the columns you are bringing in.

Ben böyle bir şey bahsediyoruz düşünüyorum:

select postid from posts 
where userid in
(
    select listenid from listen
    where userid = CURRENT-USER
)

Bu tablo, mesaj bir kimliği alanı var üstleniyor.

Basit bir alışkanlık iş katılmak?

select 
 posts.* 
from 
 posts
inner join 
 listen
on 
 listen.listenID = posts.userID
where 
 listen.userID = ACTIVEUSER