SQL大联合
sql = "select TimeLapse.*,PlaceID=Place.PlaceID and ";
sql +="PlaceType.Name AS Type From TimeLapse,Place,PlaceType ";
sql +="where TimeLapse.PlaceID = Place.PlaceID and ";
sql +="Place.TypeID=PlaceType.TypeID ";
sql +="and TimeLapse.UserID = '" + Context.User.Identity.Name + "'";
这段SQL联合起来是什么意思啊
问题点数:100、回复次数:8Top
1 楼singlepine(小山)回复于 2006-03-13 22:59:33 得分 20
假设Context.User.Identity.Name="aaa";
select
TimeLapse.*,
PlaceID=Place.PlaceID ,
PlaceType.Name AS Type
From TimeLapse,Place,PlaceType
where
TimeLapse.PlaceID = Place.PlaceID
and Place.TypeID=PlaceType.TypeID
and TimeLapse.UserID = 'aaa'
从TimeLapse,Place,PlaceType 三个表中查询数据
没什么特别,你原来的sql有问题,查询字段中是不能有and的Top
2 楼wbj02(J^情之弦^J)回复于 2006-03-13 23:32:09 得分 10
SQL语句有错。
sql = "select TimeLapse.*,PlaceID=Place.PlaceID and ";
中是不可以有and的。
应该是:
sql = "select TimeLapse.*,PlaceID=Place.PlaceID,";
sql +="PlaceType.Name AS Type From TimeLapse,Place,PlaceType ";
sql +="where TimeLapse.PlaceID = Place.PlaceID and ";
sql +="Place.TypeID=PlaceType.TypeID ";
sql +="and TimeLapse.UserID = '" + Context.User.Identity.Name + "'";
等同于:
sql = "select TimeLapse.*,PlaceID=Place.PlaceID,PlaceType.Name AS Type From TimeLapse,Place,PlaceType where TimeLapse.PlaceID = Place.PlaceID and Place.TypeID=PlaceType.TypeID and TimeLapse.UserID = '" + Context.User.Identity.Name + "'";Top
3 楼Snowdust(雪尘)回复于 2006-03-14 08:55:05 得分 10
sql = "select TimeLapse.*,PlaceID=Place.PlaceID ";
sql +="PlaceType.Name AS Type From TimeLapse,Place,PlaceType ";
sql +="where TimeLapse.PlaceID = Place.PlaceID and ";
sql +="Place.TypeID=PlaceType.TypeID ";
sql +="and TimeLapse.UserID = '" + Context.User.Identity.Name + "'";Top
4 楼kokubo_wing(假装父母富裕是违法行为)回复于 2006-03-14 09:22:42 得分 10
就是一个级联查询语句分开写的啊,在SQL SERVER用视图做一个实验你就能完全明白这句话是什么意思了.Top
5 楼luojianfeng(原来我不傻!)回复于 2006-03-14 09:28:22 得分 10
联合查询罢了Top
6 楼qingxiang_1024(清翔)回复于 2006-03-14 09:40:33 得分 20
sql 语句 中from 前面不能有and
其实这个语句就是 最简单的查询,找出三个表等值连接后符合条件的记录Top
7 楼seasky2008(老实的猪)回复于 2006-03-14 09:41:23 得分 10
等同于:
select TimeLapse.*,PlaceID=Place.PlaceID,PlaceType.Name AS Type From TimeLapse,Place,PlaceType
where
TimeLapse.PlaceID = Place.PlaceID
and
Place.TypeID=PlaceType.TypeID
and
TimeLapse.UserID =123
只是一个联合语句罢了,很简单的
同意wbj02(J^情之弦^J) 的观点,这个sql语句应该有错误吧,前面不能有and的,应该用“,”来代替:)Top
8 楼naturalth(自我批判,是思想、品德、素质、技能创新的优良工具)回复于 2006-03-14 09:47:29 得分 10
同意楼上的,麻烦你写个debug把这个sql输出来在查询分析你自己调试Top




