实现SQL中JOIN联接多个表查询
首先说个简单的,两个表查询:
有两个表,文章表中TypeId字段记录栏目Id,栏目表中的字段是栏目Id和栏目名,现在要达到的效果就是读取文章列表的时候显示栏目名称。
以前没用过inner
join外联操作,所以就束手无策了。其实有些功能是仅仅靠SQL语句就可以实现的,inner
join能够组合两个表中的记录,只要在公共字段之中有相符的值。
所以要显示栏目名称,只要用如下SQL语句:
Select
[Article].id,[Article].content,[栏目表].[栏目名称] from [Article] inner join [栏目表] on
[栏目表].id=[Article].ArType orDER BY [ArId]
DESC
多个表(多于两个表的联接查询)实现:
附相关文章:
多表联接建立记录集是十分有用的,因为某些情况下,我们需要把数字数据类型显示为相应的文本名称,这就遇到了多表联接建立记录集的问题。比如作一个会员注册系统,共有五个表,会员信息数据表member、会员身份表MemberIdentity、会员权限表
MemberLevel、会员类别表MemberSort和会员婚姻状况表Wedlock。如果想把会员注册信息全部显示出来,肯定要将这四个表连起来,否则大家看到的某些会员信息可能只是数据编号。
以会员类别表来说,在其数据表中,1代表普通会员,2代表高级会员,3代表终身会员,在显示时,如果不将会员类别表与会员详细数据表相关联,那么假如我们现在看到的是一名普通会员的注册信息,我们只能看到其类别为1,而谁又会知道1代表的是普通会员呢?所以要将会员类别表与会员详细数据表相关联,关联后,1就显示为普通会员,2就显示为高级会员,3就显示为终身会员,这样多好?同理,其它两个表也要与会员详细数据表相关联才能把数据编号显示为相应的名称。
前天制作网站后台时遇到此问题,在面包论坛、狂迷俱乐部、蓝色理想、和5D多媒体论坛发了贴子求救,都没有获得答案,只好自己研究,花了两天时间终于成功,现将其写成教程供大家分享,希望大家少走弯路。
本教程是把五个表联在一起,如果愿意,您可以将更多的表联在一起,方法大同小异啦~
步骤一:用Access软件建立一个名为Member的数据库,在其中建五个表,分别为:会员信息数据表member、会员身份表MemberIdentity、会员权限表MemberLevel、会员类别表MemberSort和会员婚姻状况表Wedlock。
●会员信息数据表me
相关文档:
1:SQL Server数据库配置
开启服务器
托盘显示服务器启动
2:在StaAfx.h 中添加如下代码
#import "C:\\Program Files\\Common Files\\System\\ado\\msado15.dll" no_namespace rename("EOF","adoEOF")rena ......
declare @str varchar(50)
declare @i int
set @str = ''
set @i=0
while @i<50
begin
set @str = ......
SELECT OrderId, TableName, replace(PrimaryKeyColumn,'''','''''') as PrimaryKeyColumn, ColumnState,cast(IsUpdating as varchar) as IsUpdating, OperateTime, ValueColumn, SystemTypeID from SubCompFtpDataDairy where OperateTime>=dateadd(hh,-24,getdate()) ......