我有几个表,怎样写多表联合查询的SQL语句

yuanzihahaha 2014-01-16 05:52:50
表一:DepartmentItem
字段名称 数据类型(大小) 是否主键 是否为空 默认值 描述
ID Int Y N
ArchitectureID Varchar(40) N 编号
ItemID uniqueidentifier N 关联 Item 表
IndexID Smallint 该部门排序ID

表二:Architecture
字段名称 数据类型(大小) 是否主键 是否为空 默认值 描述
ID archar(40)
Name
Varchar(50)
表三:Item
字段名称 数据类型(大小) 是否主键 是否为空 默认值 描述
ID uniqueidentifier
Name varchar(20)
怎样查出DepartmentItem的ID,DepartmentItem的IndexID和Architecture的name,和Item的name
各位帮忙解决哈
...全文
4139 20 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
卧_槽 2014-01-17
  • 打赏
  • 举报
回复
楼主这是要学习还是要交作业呢?
F546445693 2014-01-17
  • 打赏
  • 举报
回复
确实是啊! select A.ID, A.IndexID, B.Name, C.Name from DepartmentItem A left join Architecture B on CAST(B.ID AS Varchar)=A.ArchitectureID left join Item C on C.ID = A.ItemID
  • 打赏
  • 举报
回复
引用 16 楼 F546445693 的回复:
select A.ID A.IndexID B.Name C.Name from DepartmentItem A left join Architecture B on CAST(B.ID AS Varchar)=A.ArchitectureID left join Item C on C.ID = A.ItemID 试试看
别误导了,你们还是都把","加上吧,楼主都是直接复制进去执行的
  • 打赏
  • 举报
回复
引用 14 楼 u012804018 的回复:
[quote=引用 13 楼 a01589 的回复:] [quote=引用 5 楼 u012804018 的回复:] select A.ID A.IndexID B.Name C.Name from DepartmentItem A left join Architecture B on to_char(B.ID)=A.ID left join Item C on to_char(C.ID)=A.ID 试下
你给人家写的SQL语句,列之间都没",",这个必然是错误的[/quote] 这个倒是,没有环境,也没特别注意这个... 他用的是SQLServer和这个","应该没多大关系,楼主这点语法基础应该还是有的...[/quote] 目测楼主没有发现那东西,他的截图里面就是直接复制了你的SQL语句,报了这个错误,A.ID下面有个下划线,就是因为没用","分隔
F546445693 2014-01-17
  • 打赏
  • 举报
回复
select A.ID A.IndexID B.Name C.Name from DepartmentItem A left join Architecture B on CAST(B.ID AS Varchar)=A.ArchitectureID left join Item C on C.ID = A.ItemID 试试看
鏡椛氹鈅 2014-01-17
  • 打赏
  • 举报
回复
引用 11 楼 u012878071 的回复:
[quote=引用 6 楼 u012878071 的回复:] [quote=引用 5 楼 u012804018 的回复:] select A.ID A.IndexID B.Name C.Name from DepartmentItem A left join Architecture B on to_char(B.ID)=A.ID left join Item C on to_char(C.ID)=A.ID 试下
测试了一下还是有问题,, [/quote] 我测试时'to_char' 不是可以识别的 内置函数名称,是什么问题呢?[/quote] 你找下SQLServer的字符串转换的函数...我用的是Oracle里面字符串转换就是to_char,SQLServer的不太清楚,自己百度下应该能找到...
鏡椛氹鈅 2014-01-17
  • 打赏
  • 举报
回复
引用 13 楼 a01589 的回复:
[quote=引用 5 楼 u012804018 的回复:] select A.ID A.IndexID B.Name C.Name from DepartmentItem A left join Architecture B on to_char(B.ID)=A.ID left join Item C on to_char(C.ID)=A.ID 试下
你给人家写的SQL语句,列之间都没",",这个必然是错误的[/quote] 这个倒是,没有环境,也没特别注意这个... 他用的是SQLServer和这个","应该没多大关系,楼主这点语法基础应该还是有的...
  • 打赏
  • 举报
回复
引用 5 楼 u012804018 的回复:
select A.ID A.IndexID B.Name C.Name from DepartmentItem A left join Architecture B on to_char(B.ID)=A.ID left join Item C on to_char(C.ID)=A.ID 试下
你给人家写的SQL语句,列之间都没",",这个必然是错误的
  • 打赏
  • 举报
回复
引用 11 楼 u012878071 的回复:
[quote=引用 6 楼 u012878071 的回复:] [quote=引用 5 楼 u012804018 的回复:] select A.ID A.IndexID B.Name C.Name from DepartmentItem A left join Architecture B on to_char(B.ID)=A.ID left join Item C on to_char(C.ID)=A.ID 试下
测试了一下还是有问题,, [/quote] 我测试时'to_char' 不是可以识别的 内置函数名称,是什么问题呢?[/quote] select A.ID A.IndexID B.Name C.Name ","呢?SQL基本语法 select a,b,c from Table
yuanzihahaha 2014-01-17
  • 打赏
  • 举报
回复
引用 6 楼 u012878071 的回复:
[quote=引用 5 楼 u012804018 的回复:] select A.ID A.IndexID B.Name C.Name from DepartmentItem A left join Architecture B on to_char(B.ID)=A.ID left join Item C on to_char(C.ID)=A.ID 试下
测试了一下还是有问题,, [/quote] 我测试时'to_char' 不是可以识别的 内置函数名称,是什么问题呢?
yuanzihahaha 2014-01-17
  • 打赏
  • 举报
回复
引用 7 楼 u012804018 的回复:
[quote=引用 6 楼 u012878071 的回复:] [quote=引用 5 楼 u012804018 的回复:] select A.ID A.IndexID B.Name C.Name from DepartmentItem A left join Architecture B on to_char(B.ID)=A.ID left join Item C on to_char(C.ID)=A.ID 试下
测试了一下还是有问题,, [/quote] 你用的是SQLServer??? http://www.w3school.com.cn/sql/sql_select.asp 自己学下SQL语句看看...[/quote] 很感谢你,
yuanzihahaha 2014-01-17
  • 打赏
  • 举报
回复
引用 8 楼 u011130289 的回复:
冲你头像随手给你写的,都是些基本的 select DepartmentItem.ID,DepartmentItem.IndexID,Architecture.Name,Item.Name from DepartmentItem,Architecture,Item where DepartmentItem.ArchitectureID=Architecture.ID and DepartmentItem.ItemID=Item.ID;
我试了一下,关键是ID类型不一样啊
Regan-lin 2014-01-16
  • 打赏
  • 举报
回复
冲你头像随手给你写的,都是些基本的 select DepartmentItem.ID,DepartmentItem.IndexID,Architecture.Name,Item.Name from DepartmentItem,Architecture,Item where DepartmentItem.ArchitectureID=Architecture.ID and DepartmentItem.ItemID=Item.ID;
鏡椛氹鈅 2014-01-16
  • 打赏
  • 举报
回复
引用 6 楼 u012878071 的回复:
[quote=引用 5 楼 u012804018 的回复:] select A.ID A.IndexID B.Name C.Name from DepartmentItem A left join Architecture B on to_char(B.ID)=A.ID left join Item C on to_char(C.ID)=A.ID 试下
测试了一下还是有问题,, [/quote] 你用的是SQLServer??? http://www.w3school.com.cn/sql/sql_select.asp 自己学下SQL语句看看...
yuanzihahaha 2014-01-16
  • 打赏
  • 举报
回复
引用 5 楼 u012804018 的回复:
select
A.ID
A.IndexID
B.Name
C.Name
from DepartmentItem A
left join Architecture B on to_char(B.ID)=A.ID
left join Item C on to_char(C.ID)=A.ID
试下

测试了一下还是有问题,,
鏡椛氹鈅 2014-01-16
  • 打赏
  • 举报
回复
select A.ID A.IndexID B.Name C.Name from DepartmentItem A left join Architecture B on to_char(B.ID)=A.ID left join Item C on to_char(C.ID)=A.ID 试下
yuanzihahaha 2014-01-16
  • 打赏
  • 举报
回复
[quote=引用 3 楼 u012804018 的回复:] [quote=引用 2 楼 u012804018 的回复:] select A.ID A.IndexID B.Name C.Name from DepartmentItem A left join Architecture B on B.ID=A.ID left join Item B on C.ID=A.ID 恩恩,就是的类型不一样,结果报错
鏡椛氹鈅 2014-01-16
  • 打赏
  • 举报
回复
引用 2 楼 u012804018 的回复:
select A.ID A.IndexID B.Name C.Name from DepartmentItem A left join Architecture B on B.ID=A.ID left join Item B on C.ID=A.ID 这个你试下
你表1,2,3里面的ID的字符型怎么都不一样啊,这样用Left Join可能会报错...
鏡椛氹鈅 2014-01-16
  • 打赏
  • 举报
回复
select A.ID A.IndexID B.Name C.Name from DepartmentItem A left join Architecture B on B.ID=A.ID left join Item B on C.ID=A.ID 这个你试下
智商余额不足 2014-01-16
  • 打赏
  • 举报
回复
好乱啊,这样多美好

//表一:DepartmentItem
//字段名称           数据类型(大小) 是否主键 是否为空 默认值 描述
  ID                Int              Y       N
  ArchitectureID    Varchar(40)      N                   编号
  ItemID            uniqueidentifier N                   关联 Item 表
  IndexID           Smallint                             该部门排序ID

//表二:Architecture
//字段名称           数据类型(大小) 是否主键 是否为空 默认值 描述
  ID                archar(40)
  Name              Varchar(50)

//表三:Item
//字段名称           数据类型(大小) 是否主键 是否为空 默认值 描述
  ID                uniqueidentifier
  Name              varchar(20)

111,095

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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