㈠ 帮我写个sql语句,很简单的
我来回答,这个表是谁给你建的?你应该揍他一顿。如果是你自己建的,面壁去吧。
应该有两个表:
1、省份表
字段名 类型 长度 备注
Pid int 4 自增变量,主键,省份id
PName char 20 省份名称
2、城市表字段名 类型 长度 备注
Cid int 4 自增变量,主键
CName char 20 城市名称
Pid int 4 城市所属的省份id
对于前面的那些数据,应该是这样的:
1、省份表(ProvinceTable)
Pid PName
1 广东省
2 湖南省
(更多的,再添加)
2、城市表(CityTable)
Cid CName Pid
1 广州市 1
2 深圳市 1
3 长沙市 2
4 岳阳市 2
这样的表结构才有可能实现你要的效果。
把省份表中的名称和id放到选择省份列表中,这样:
<select name="Province" onclick="">
<option value="1">广东省</option>
<option value="2">湖南省</option>
</select>
然后在onclick事件中提交表单,或者使用Ajax技术向服务器中发送选择的省份id。
这时候,得到省份所有城市列表的sql语句为(假设我们选择广东省):
select * from citytable where pid=1
欢迎访问我的论坛:
http://www.chinesebloger.com
期待您的支持:) 9471希望对你有帮助!
㈡ 14、已知省份城市表、城市人口表,编写sql查询人口数第三大 的省份(可能多个省份)和具体人口数
定义表,省份表两列,id和name,人口表,sfid和rk,创建一些测试数据如下:
id name
1 北京
2 吉林省
3 辽宁省
4 黑龙江省
5 河南省
6 河北省
sfid rk
1 123
2 235
3 456
4 743
5 452
6 321
开始查询了,初始的sql很简单,俩表关联即可,要查询出排名第三的,需要用到绑定变量,设置一个自增的变量(我用的是mysql),然后条件是这个自增变量等于3即可了,sql语句如下:
select d.id,d.name,d.rk,d.no from (
select *,(@i:=@i+1) as no from sf a,rk b,(select @i:=0) as c
where a.id=b.sfid) d
where d.no=3
验证结果,望采纳。
㈢ SQL如果建立子表
也就是建立主外键关系。
建立一张表。。他的外键对应另一张表的主键。。这张表就是子表。
子表外键的数据必须在主表的主键存在。
比如
学员表(学员ID,学员姓名)
成绩表(学员ID,成绩)
学员表的学员ID是主键。
成绩表的学员ID对应学员表的主键。必须有个人才会有成绩。
所以学员表是主表
成绩表是子表
-----例子-----------
新建一个表 表名:stuInfo 表中有两列 stuID 和 stuName,分别保存ID和姓名
新建一个表 表名: scoreInfo 表中有两列 SstuID 和 score,分别保存ID和成绩
在stuInfo表中给stuID列设为主键
在scoreInfo表中给SstuID设定关系,对应到stuInfo表中的stuID.
在stuInfo表中插入数据
stuID,stuName
1 , 张三
2 ,李四
在scoreInfo表中插入数据时SstuID必须在stuInfo表中的stuID列中存在
比如插入如下数据
SstuID,score
3 , 89
就会插不进去。没有编号为3的这个学员。
这就是子表依赖主表,成绩表为子表
㈣ sql语句 按所在城市分类,查询哪个城市的学生最多
您好:
语句如下,请自行测试。。。
SELECTTOP1城市,COUNT(*)ASc
FROM学生表
GROUPBY城市
ORDERBYcDESC
DROP
TABLE
IF
EXISTS
`dict_province`;
CREATE
TABLE
`dict_province`
(
`N_PROVID`
int(10)
unsigned
NOT
NULL
default
'0',
`S_PROVNAME`
varchar(30)
NOT
NULL,
`S_TYPE`
varchar(1)
default
NULL
COMMENT
'1
-
直辖市\r\n2
-
行政省\r\n3
-
自治区\r\n4
-
特别行政区\r\n5
-
其他国家\r\n见全局数据字典[省份类型]
\r\n',
`S_STATE`
varchar(1)
default
NULL
COMMENT
'0
-
禁用\r\n1
-
启用',
PRIMARY
KEY
(`N_PROVID`)
)
ENGINE=InnoDB
DEFAULT
CHARSET=utf8;
LOCK
TABLES
`dict_province`
WRITE;
/*!40000
ALTER
TABLE
`dict_province`
DISABLE
KEYS
*/;
INSERT
INTO
`dict_province`
VALUES
(1,'国外','5','1'),(10,'北京','1','1'),(11,'上海','1','1'),(12,'天津','1','1'),(13,'重庆','1','1'),(14,'河北','2','1'),(15,'山西','2','1'),(16,'内蒙古','3','1'),(17,'辽宁','2','1'),(18,'吉林','2','1'),(19,'黑龙江','2','1'),(20,'江苏','2','1'),(21,'浙江','2','1'),(22,'安徽','2','1'),(23,'福建','2','1'),(24,'江西','2','1'),(25,'山东','2','1'),(26,'河南','2','1'),(27,'湖北','2','1'),(28,'湖南','2','1'),(29,'广东','2','1'),(30,'广西','3','1'),(31,'海南','2','1'),(32,'四川','2','1'),(33,'贵州','2','1'),(34,'云南','2','1'),(35,'西藏','3','1'),(36,'陕西','2','1'),(37,'甘肃','2','1'),(38,'青海','2','1'),(39,'宁夏','3','1'),(40,'新疆','3','1'),(41,'香港','4','1'),(42,'澳门','4','1'),(43,'台湾','2','1');
/*!40000
ALTER
TABLE
`dict_province`
ENABLE
KEYS
*/;
UNLOCK
TABLES;
㈥ SQL语句查询:根据地址查出城市
select id,city from dbo.tblcity where trim(city) = '山西省太原市千峰南路东民科技大厦10号楼12层'
你那么写查不出来有可能是因为city这个字段里的数据,前边或后边有空格
---------补充--------
那没法弄,你有的里边不是市,是县,还有的前边带省份名称,你这里根本就没有一个统一的标准,所以,要么用存储过程,单纯的sql很难搞定
㈦ SQL 查询各区名称并统计各区总数
selectcity.name,area.name,count(info.id)fromcity
leftjoinareaonarea.cityid=city.cityid
leftjoininfooninfo.areaid=area.areaid
wherecity.name='北京市'groupbycity.name,area.name
大概意思.字段名称根据你的具体表结构替换一下
㈧ sql server中,一栏位格式如:国家-省-城市-... 现在我要按照城市来筛选数据,怎么使用sql语句来实现
SELECT * FROM 表名 WHERE (字段名 LIKE '%城市名%')
把其中的
表名、字段名、城市名
改成你的即可。
㈨ mysql 查询每个省有多少个城市 怎么查有 两张表 城市表 和省份表 pid链接 sql语句怎么写
SELECT COUNT(0),PROVINCE_NAME FROM (SELECT B.CITY_NAME ,A.PROVINCE_NAME FROM PROVINCE_TABLE A,CITY_TABLE B WHERE A.PID=B.PID) GROUP BY PROVINCE_NAME