我正在开设一个页面,就像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";
潜行者 - 朋友
表Stalkers:
id id_user id_user_friend
我需要在IN子句中添加我的个人ID,所以我的qyery会返回我的活动和我的朋友活动。
任何人都可以帮助我吗?
我尝试了什么
$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";
答案 0 :(得分:1)
你的sql和你的表格看起来有些不对劲
在您的表格中,您有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";
答案 1 :(得分:0)
什么是$ 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