Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Menampilkan Postingan Pelanggan Dan Postingan Pengguna Sendiri

Anda dapat melakukannya dengan memodifikasi kueri Anda menjadi :

SELECT POSTS.*
FROM POSTS
LEFT JOIN SUBSCRIBERS
ON POSTS.AUTHORID = SUBSCRIBERS.PROFILEID
WHERE SUBSCRIBERS.SUBSCRIBERID = ? OR POSTS.AUTHORID = ?
GROUP BY POSTS.POSTID ORDER BY POSTS.POSTID DESC LIMIT 10 

Itu juga memilih posting milik pengguna. Semoga ini bisa membantu.

Diperbarui :Menambahkan GROUP BY POSTS.POSTID jadi duplikat dihapus karena Anda hanya mencari data di POSTS tabel.

Saat Anda menjalankan kueri seperti meneruskan nilai- Mis. untuk pengguna yang memiliki id 1 kuerinya seperti:

SELECT POSTS.*
FROM POSTS
LEFT JOIN SUBSCRIBERS
ON POSTS.AUTHORID = SUBSCRIBERS.PROFILEID
WHERE SUBSCRIBERS.SUBSCRIBERID = 1 OR POSTS.AUTHORID = 1 GROUP BY POSTS.POSTID
ORDER BY POSTS.POSTID DESC LIMIT 10

Hasilnya adalah :

PostID  AuthorID    PostDate    PostBody

3       1   2012-12-21  Oh Wait
2       3   2012-12-21  Bye Bye World
1       2   2012-12-20  Hello Word

Inilah yang Anda dapatkan ketika meneruskan nilai ke kueri pemilihan dengan benar. Nilai yang diteruskan ke SUBSCRIBERID dan AUTHORID seharusnya sama. LEFT JOIN akan memperbaiki masalah Anda.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL GABUNG dengan kondisi JIKA

  2. InnoDB menyisipkan sangat lambat dan melambat

  3. Bagaimana Fungsi OCTET_LENGTH() Bekerja di MySQL

  4. Pengelompokan berdasarkan Kolom dengan Ketergantungan pada Kolom lain

  5. Bagaimana cara mendapatkan data dari tabel lain menggunakan data kolom dari tabel yang berbeda?