Sql 用辅助表连接两个表
我有两张桌子,Sql 用辅助表连接两个表,sql,tsql,inner-join,Sql,Tsql,Inner Join,我有两张桌子,Chat和Message。和另一个表名chat\u message\u join。架构如下所示: +-----------+ +--------------+ +---------------------+ | chat | | message | |chat_message_join | +-----------+ +--------------+ |---------------------+ | chat_ID | |message
Chat
和Message
。和另一个表名chat\u message\u join
。架构如下所示:
+-----------+ +--------------+ +---------------------+
| chat | | message | |chat_message_join |
+-----------+ +--------------+ |---------------------+
| chat_ID | |message_ID | |chat_ID |
| contact | |message | |message_ID |
+-----------+ -------------- + +---------------------+
+-----------+
|message_new|
+-----------+
|contact |
|message |
+-----------+
现在我想要另一个表,其中包含来自chat
表的contact
,以及来自message
表的message
。新的表架构如下所示:
+-----------+ +--------------+ +---------------------+
| chat | | message | |chat_message_join |
+-----------+ +--------------+ |---------------------+
| chat_ID | |message_ID | |chat_ID |
| contact | |message | |message_ID |
+-----------+ -------------- + +---------------------+
+-----------+
|message_new|
+-----------+
|contact |
|message |
+-----------+
T-SQL查询是什么样子的?此查询应该可以帮助您实现
select chat.contact, message.message from chat
inner join chat_message_join on chat.chat_ID = chat_message_join.chat_ID
inner join message on chat_message_join.message_ID = message.message_ID
要插入到新表,请使用
insert into whatever_table (contact,message)
select chat.contact, message.message from chat
inner join chat_message_join on chat.chat_ID = chat_message_join.chat_ID
inner join message on chat_message_join.message_ID = message.message_ID
如果我没弄错你的问题,比如
SELECT a.Contact
,c.message
into newtable
from chat a
inner join chat_message_join b on a.chat_ID=b.chat_ID
inner join chat_ID c on c.messageID=b.messageID
聊天室id和消息id是外键吗?你的问题是什么?您能简单解释一下吗?@JimMacaulay chat\u ID and message\u chat\u message\u join table的聊天室ID和消息ID是聊天室和消息的聊天室ID和消息IDtable@InnovaITveSolutions我想使用带有tsql查询的其他三个表,用contact和message填充message_新表