所以我有一个简单的DB_Schema,USER_INFO表,其中包含用户名和全名列,用户名是该表的主键。我正在构建一个简单的聊天网站。我还有一个消息表,它有4列,
我试图使用内部连接获取消息、发件人(全名)和收件人(全名)的详细信息,我的SQL问题是:
选择消息、发件人、用户信息。名称为发送方、接收方、用户信息。从lets\u聊天中命名为接收者。privatechat
内部加入privatechat上的用户信息。发送方=用户信息。用户名:privatechat上的内部加入用户信息。接收器=用户信息。用户名;
这导致了一个错误:错误代码1066: Not Unique Table/alias:'user_info'。
有人能帮我更正错误或给我正确的SQL语句来执行此操作吗?我使用MYSQL DB。
我擅长春日,我能在这方面做得很好,只是需要SQL方面的帮助。提前谢谢你
更新答案
选择PVC。消息,UI1。作为发送方的名称,UI2。从lets\u聊天中命名为接收者。privatechat AS PVC
在UI1上以UI1的形式内部加入用户信息。用户名=PVC。发送方将用户信息作为UI2在UI2上加入。用户名=PVC。接收器
这起作用了。谢谢你@plaidDK
您需要为您的连接提供一个唯一的别名,并将您的列引用到您的表ALIAS,可能是这样的:您可以将列更正为您正确的表别名,因此我不知道列来自哪里
SELECT PVC.message, PVC.sender, UI1.name as sender, PVC.receiver, UI2.name as
receiver
FROM lets_chat.privatechat AS PVC
INNER JOIN user_info AS UI1 ON privatechat.sender = UI1.username
INNER JOIN user_info AS UI2 ON privatechat.receiver = UI2.username;
在一个表中有两列可以是来自同一表的外键,这样可以吗? 例如: 我有一个“address”表,表中有列: id,street,city_id,state,country(或id,street,city_id,state_id,state_id) 我有一个'states'表,保存状态和国家:id、name、level 那么我可以把states_id放在地址表的state和country中吗(如上面的括
我需要在两个活动中使用相同的ArrayAdapter。在MainActivity中,我只需要显示isConsumido()=true的项,而在另一个活动中,我需要显示所有项。 我的MainActivity适配器: 现在,我使用两个适配器,但是当我在TelaCadastrados的一个适配器项中检查isConsumido()时,MainActivity中的同一项需要变为不可见,而当我删除TelaCa
我的问题是,它似乎影响和删除相同的元素从原来的列表!
很抱歉我问了一个相当愚蠢的问题。例如,一个表可以有由“user_id”和“employee_id”组成的复合主键吗 和另一个包含“user_id”作为主键的表?
我们系统的所有用户都来自一个主“用户”类。同样,我们希望以相同的方式构造数据库,拥有一个主“用户”表,该表与特定用户类型的必要表连接,以提供额外的用户信息。 以这三个基本表格为例: 表用户 user_id|user_email|user_firstname|user_lastname|... 表雇员 user_id|employee_staff_number|... 表管理 user_id|adm
问题内容: 在此系统中,我们存储产品,产品图像(产品可能有很多图像)和产品的默认图像。数据库: 如您所见,和,是循环参考。可以吗 问题答案: 不,那不行。表之间的循环引用是混乱的。请参阅这篇(已有十年的历史)文章:SQL By Design:循环参考 一些DBMS可以特别小心地处理这些问题,但是MySQL会遇到问题。 作为您的设计,第一选择是使两个FK之一为可空。这使您能够解决“鸡与蛋”问题(我应