㈠ 幫我寫個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