sql >> Databáze >  >> RDS >> Mysql

Zobrazení příspěvků odběratele a vlastních příspěvků uživatele

Můžete to udělat úpravou vašeho dotazu na :

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 

Vybírá také vlastní příspěvky uživatele. Doufám, že to pomůže.

Aktualizováno:Přidáno GROUP BY POSTS.POSTID takže duplikáty jsou odstraněny, protože data hledáte pouze v POSTS tabulka.

Když spustíte dotaz jako předávání hodnot- Např. pro uživatele s ID 1 dotaz vypadá takto:

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

Výsledky jsou:

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

To je to, co získáte, když správně předáte hodnoty do výběrového dotazu. Hodnoty předané do SUBSCRIBERID a AUTHORID měl by být stejný. LEFT JOIN by váš problém vyřešil.




  1. MySQL C++ Connector získává řetězec s dotazem SELECT

  2. Jak použít $_GET k získání více parametrů se stejným názvem v PHP

  3. Obecné procházení stromu (nekonečno) způsobem prohledávání do šířky

  4. Chyba:Nelze se připojit k serveru MySQL na 'SERVER_IP' (99)