[英]multiple where clause in sql
I don't know if this is possible but i will give this a try. 我不知道这是否可能,但我会尝试一下。
I have 3 tables: 我有3张桌子:
First table: (sender_id and receiver_id is a foreign key referencing to loginportal table) 第一个表:(sender_id和receiver_id是引用loginportal表的外键)
messages
sender_id | receiver_id | message
3 | 1 | ...
Second Table: (req_id is a foreign key referencing request table) 第二个表:(req_id是外键引用请求表)
loginportal
loginPortal_id | username | req_id
1 | admin | 1
3 | user | 2
Third table: 第三表:
request
req_id | firstname | surname
1 | john | doe
2 | jane | me
Problem: 问题:
Whenever i used this query: 每当我使用此查询:
"SELECT id, message_sender_id,
message_title, message_body, sent_date, message_status,
username, firstname, surname
FROM messages m
INNER JOIN loginportal l
INNER JOIN request r
ON m.message_receiver_id= l.loginPortal_id
AND l.req_id=r.req_id
WHERE m.message_receiver_id=(
SELECT loginPortal_id FROM loginportal
WHERE username='".$_SESSION['user']."')";
What i got is the receiver username and receiver firstname and surname. 我得到的是收件人的用户名,收件人的名字和姓氏。 What i want is i will have the receiver username but SENDER's firstname and surname. 我想要的是我将拥有接收者的用户名,但是SENDER的名字和姓氏。 is this possible? 这可能吗?
I think you need to add a message_id field, then combine two subqueries finding the sender and reciever info on their new message_id. 我认为您需要添加一个message_id字段,然后结合两个子查询来查找其新message_id上的发件人和收件人信息。 Something along these lines...haven't tested it 这些方面的东西...还没有测试
SELECT query1.username, query2.firstname, query2.surname
FROM (SELECT username, message_id FROM loginportal, messages WHERE loginPortal_id = receiver_id) AS query1,
(SELECT firstname, surname, message_id FROM request, loginportal, messages WHERE request.req_id = loginportal_req.id AND loginportal.loginPortal_id = messages.sender_id) AS query2
WHERE query1.message_id = query2.message_id;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.