怎么样才能合并查询不同栏数的多个表格啊

ZZMIAOZZ 2019-04-18 08:34:23
A表
名称 产地 ID 编码
茄子 1 111 aaa
萝卜 2 222 bbb
白菜 3 333 ccc

B表
检测项目 检测结果 检验时间 参照标准 检测编码 名称
77 88 99 1010 1111 茄子
66 22 55 666 444 萝卜
WW EEE 999 888 333 白菜

C表
物流方式 车牌号 司机姓名 名称
abab baba afaf 茄子
qeqe eqeq dfdf 萝卜
erer rere uuu 白菜

想要查询编码为“bbb”的产品的所有信息我应该用什么语句来关联着三个表啊QAQ??
本来想用“union”结果告诉我必须有相同数目的表达方式
...全文
198 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xzxmustwin 2019-04-19
  • 打赏
  • 举报
回复
引用 3 楼 xzxmustwin 的回复:

select * from A
inner join A.名称=B.名称
inner join A.名称=C.名称


话说你这个表产品名称是主键?名称重复怎么办?用内码做关联比较好啊



手快 写错了。。

select * from A
inner join B on A.名称=B.名称
inner join C on A.名称=C.名称
xzxmustwin 2019-04-19
  • 打赏
  • 举报
回复

select * from A
inner join A.名称=B.名称
inner join A.名称=C.名称


话说你这个表产品名称是主键?名称重复怎么办?用内码做关联比较好啊
wangrcaction 2019-04-19
  • 打赏
  • 举报
回复
用join 关联
吉普赛的歌 版主 2019-04-18
  • 打赏
  • 举报
回复
USE tempdb
GO
IF OBJECT_ID('dbo.[A]') IS NOT NULL 
	DROP TABLE dbo.[A]
GO
CREATE TABLE dbo.[A](
[名称] NVARCHAR(MAX)
,[产地] NVARCHAR(MAX)
,[ID] NVARCHAR(MAX)
,[编码] NVARCHAR(MAX)	
)
GO
SET NOCOUNT ON
INSERT INTO dbo.[A] VALUES(N'茄子',N'1',N'111',N'aaa')
INSERT INTO dbo.[A] VALUES(N'萝卜',N'2',N'222',N'bbb')
INSERT INTO dbo.[A] VALUES(N'白菜',N'3',N'333',N'ccc')
GO
IF OBJECT_ID('dbo.[B]') IS NOT NULL 
	DROP TABLE dbo.[B]
GO
CREATE TABLE dbo.[B](
[检测项目] NVARCHAR(MAX)
,[检测结果] NVARCHAR(MAX)
,[检验时间] NVARCHAR(MAX)
,[参照标准] NVARCHAR(MAX)
,[检测编码] NVARCHAR(MAX)
,[名称] NVARCHAR(MAX)	
)
GO
SET NOCOUNT ON
INSERT INTO dbo.[B] VALUES(N'77',N'88',N'99',N'1010',N'1111',N'茄子')
INSERT INTO dbo.[B] VALUES(N'66',N'22',N'55',N'666',N'444',N'萝卜')
INSERT INTO dbo.[B] VALUES(N'WW',N'EEE',N'999',N'888',N'333',N'白菜')
GO
IF OBJECT_ID('dbo.[C]') IS NOT NULL 
	DROP TABLE dbo.[C]
GO
CREATE TABLE dbo.[C](
[物流方式] NVARCHAR(MAX)
,[车牌号] NVARCHAR(MAX)
,[司机姓名] NVARCHAR(MAX)
,[名称] NVARCHAR(MAX)	
)
GO
SET NOCOUNT ON
INSERT INTO dbo.[C] VALUES(N'abab',N'baba',N'afaf',N'茄子')
INSERT INTO dbo.[C] VALUES(N'qeqe',N'eqeq',N'dfdf',N'萝卜')
INSERT INTO dbo.[C] VALUES(N'erer',N'rere',N'uuu',N'白菜')
-------- 以上为测试表及测试数据 -----------


SELECT * 
FROM A INNER JOIN B ON A.名称=B.名称
	INNER JOIN C ON A.名称=C.名称
不过, 这个题不太好, 一般表之间关联, 需要用 id 。

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧