VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入 

SQL 列查询

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> SQL 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
zfgg



註冊時間: 2004-05-31
文章: 179
來自: 中国

第 1 樓

發表發表於: 星期六 一月 16, 2010 10:58 am    文章主題: SQL 列查询 引言回覆

本人是自学的,没有读过计算机专业学校,请不要见笑。有问题时,全是网上老师教的。有一个表,字段为lianji,sex。sex的内容为男或女。想聚合lianji,分别统计男和女的人数,形成“lianji、男、女、合计”列数。特请教,如何在SQL server中将下面的语句写成一个语句。

SELECT lianji, 男 = count(*) from students where sex='男' group by lianji
SELECT lianji, 女 = count(*) from students where sex='女' group by lianji
SELECT lianji, 合计 = count(*) from students group by lianji
附图是单个查询后,用图象编辑合成的,我想能达到图示的样子。谢谢!
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address MSN Messenger
foxy



註冊時間: 2007-08-16
文章: 135
來自: 泰國

第 2 樓

發表發表於: 星期日 六月 20, 2010 9:36 pm    文章主題: 引言回覆

select a.lianji,a.boy,a.girl,a.both
from
(SELECT lianji, count(*) as boy
from students
group by lianji
where sex='male') as a
inner join
(SELECT lianji, count(*) as boy
from students
group by lianji
where sex='female') as b
on a.lianji=b.lianji
inner join
(SELECT lianji, count(*) as both
from students
group by lianji) as c
on b.lianji=c.lianji

_________________
提供庫存軟體+會計+POS(店面零售)+員工出勤和薪資, 四合一, 從業務資料自動拋會計傳票.
介面為VFP9, 資料庫可用DBF或SQL Server.
有正體中文,簡體中文,英文,日文,泰文,緬甸文.
任意三種文字可同時顯示輸入列印.

軟體的 source code 銷售中
加LNE: mike-lm
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 參觀發表人的個人網站 MSN Messenger
zfgg



註冊時間: 2004-05-31
文章: 179
來自: 中国

第 3 樓

發表發表於: 星期三 六月 23, 2010 3:01 pm    文章主題: 引言回覆

谢谢 Foxy的指导!
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address MSN Messenger
ckp6250



註冊時間: 2004-07-30
文章: 1501


第 4 樓

發表發表於: 星期四 六月 24, 2010 10:30 am    文章主題: 引言回覆

where 不是應該在 group by 之前嗎 ?
或者, SQL server 沒有嚴格語法規定 ?
回頂端
檢視會員個人資料 發送私人訊息
foxy



註冊時間: 2007-08-16
文章: 135
來自: 泰國

第 5 樓

發表發表於: 星期五 六月 25, 2010 11:24 pm    文章主題: 引言回覆

ckp6250 寫到:
where 不是應該在 group by 之前嗎 ?
或者, SQL server 沒有嚴格語法規定 ?


您太對了, 謝謝.
下面是更改後的

select a.lianji,a.boy,b.girl,c.both
from
(SELECT lianji, count(*) as boy
from students
where sex='male'
group by lianji) as a
inner join
(SELECT lianji, count(*) as girl
from students
where sex='female'
group by lianji) as b
on a.lianji=b.lianji
inner join
(SELECT lianji, count(*) as both
from students
group by lianji) as c
on b.lianji=c.lianji

_________________
提供庫存軟體+會計+POS(店面零售)+員工出勤和薪資, 四合一, 從業務資料自動拋會計傳票.
介面為VFP9, 資料庫可用DBF或SQL Server.
有正體中文,簡體中文,英文,日文,泰文,緬甸文.
任意三種文字可同時顯示輸入列印.

軟體的 source code 銷售中
加LNE: mike-lm
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 參觀發表人的個人網站 MSN Messenger
ckp6250



註冊時間: 2004-07-30
文章: 1501


第 6 樓

發表發表於: 星期二 六月 29, 2010 5:52 pm    文章主題: 引言回覆

因為 VFP 對 sql 語法沒有嚴格語法規定
使得養成了鬆散的壞習慣
之後,去學其它資料庫時,吃了不少暗虧
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> SQL 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作