dongshushi5579 2017-05-22 10:28
浏览 446
已采纳

MySQL:AND运算符不起作用

I have chat database contains from three table (users,message,message_recipient) and their relations here : Database Design the content of table is :

tabel users:

us_id username password 1 user1 pass1 2 user2 pass2 3 user3 pass3

table mesasage

id  msg_body   create_date  creator_id
1   "Hi user2" ---------      1
2   "Hi user3  ---------      1

table message_recipient

id  repient_id  message_id is_read
1   2           1          0
2   3           2          0

my problem is when select the messages that user1 send to user2 the AND operator not working or there is bug with AND the SQL Query :

SELECT message.id, message.msg_body,message.creator_id,message_recipient.recipient_id
FROM message,message_recipient
WHERE message.creator_id='1' AND message_recipient.recipient_id='2'

the output is:

id msg_body    creator_id    recipient_id
1  "Hi user2"  1             2
2  "Hi user3"  1             2
  • 写回答

3条回答 默认 最新

  • duanguoping2016 2017-05-22 10:34
    关注

    You need to use JOIN to do that:-

    SELECT message.id, message.msg_body,message.creator_id,message_recipient.recipient_id
    FROM message JOIN message_recipient ON message.id = message_recipient.message_id
    WHERE message.creator_id='1' AND message_recipient.recipient_id='2'
    

    Note:- When you are trying to get data from two or more tables then you need to use different types of Joins.

    Reference:- https://www.w3schools.com/sql/sql_join.asp

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站