[英]SQL query with IN clause
我在一個頁面上工作,就像facebook feed頁面。 因此,我的查詢現在看起來像這樣:
$sql = "SELECT *
FROM event
WHERE id_user IN (
SELECT a.id_user_stalkers
FROM stalkers a
WHERE a.id_user = ".$id_profile.")
ORDER by date DESC
LIMIT 0, 10";
潛行者-朋友
潛行者:
id id_user id_user_friend
我需要在該IN子句后面附加我的個人ID,以便我的qyery返回我的事件和我的Friends事件。
有誰能夠幫助我 ?
我嘗試過的
$sql = "SELECT *
FROM event
WHERE id_user IN (
SELECT a.id_user_stalkers
FROM stalkers a
WHERE a.id_user = ".$id_profile.")
OR id_user = ".$id_profile."
ORDER by date DESC
LIMIT 0, 10";
在您的sql和表中看起來有問題
1-在表中有id_user_friend
,在sql中有id_user_stalkers
。
2-我不知道您的第一個表中是否有日期,或者您的意思是NOW()
? 因為你沒有分享第一張桌子。
嘗試這個
$sql = "SELECT * FROM event e WHERE id_user
IN (SELECT a.id_user_friend FROM stalkers a
WHERE a.id_user = ".$id_profile.")
OR e.id_user = ".$id_user."
ORDER by e.date DESC LIMIT 0, 10";
什么是$ id_user? 原始查詢只有一個變量。 我不明白你為什么需要另一個。 換句話說,請嘗試以下操作:
SELECT *
FROM event e
WHERE id_user IN (SELECT a.id_user_friend
FROM stalkers a
WHERE a.id_user = ".$id_profile."
) OR
e.id_user = ".$id_profile."
ORDER by e.date DESC LIMIT 0, 10
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.