我遇到查询问题,应该得到喜欢和回复,它有相同类型的字段,所以我可以通过1个查询来阅读它们,这对我的客户端应用程序来说是最好的..有没有人知道如何添加像第一个选择语句的字段,如thisisareply
=' x'第二个是thisisareply
=''
这是我目前所拥有的:
SELECT
a.alerts,a.title,r.id as replyid, r.date_added as replydatum,
u.id as user_id,u.username,u.profile_picture
FROM
`alerts` a
LEFT JOIN
`reply` r
ON
a.alerts = r.alert_id
LEFT JOIN
`users` u
ON
u.id = r.user_id
WHERE
a.user_id = '2'
GROUP BY
replyid
UNION
SELECT
a.alerts,a.title,i.id as interactionid, i.date_added as likedatum
,u.id as user_id,u.username,u.profile_picture
FROM
`alerts` a
LEFT JOIN
`interactions` i
ON
a.alerts = i.alert_id
LEFT JOIN
`users` u
ON
u.id = i.user_id
WHERE
a.user_id = '2'
GROUP BY
likedatum
答案 0 :(得分:1)
是的,您可以使用'x'和null
定义别名thisisareply
SELECT
a.alerts,a.title,r.id as replyid, r.date_added as replydatum,
u.id as user_id,u.username,u.profile_picture , 'x' AS thisisareply
FROM ....
UNION
SELECT
a.alerts,a.title,i.id as interactionid, i.date_added as likedatum
,u.id as user_id,u.username,u.profile_picture, null as thisisareply
FROM ...
答案 1 :(得分:0)
尝试这样的事情:
SELECT 'something' as ReplyType,
a.alerts,a.title,r.id as replyid, r.date_added as replydatum,
u.id as user_id,u.username,u.profile_picture
FROM
`alerts` a
LEFT JOIN
`reply` r
ON
a.alerts = r.alert_id
LEFT JOIN
`users` u
ON
u.id = r.user_id
WHERE
a.user_id = '2'
GROUP BY
replyid
UNION
SELECT 'something else' as ReplyType,
a.alerts,a.title,i.id as interactionid, i.date_added as likedatum
,u.id as user_id,u.username,u.profile_picture
FROM
`alerts` a
LEFT JOIN
`interactions` i
ON
a.alerts = i.alert_id
LEFT JOIN
`users` u
ON
u.id = i.user_id
WHERE
a.user_id = '2'
GROUP BY
likedatum