我修改爲我的考試,我有點與SQL查詢掙扎..製作一個SQL查詢(交叉表)
工作對我來說是:
寫一個SQL查詢來列出所有客戶端的全名是 參加艾倫·摩爾的「S班,姓氏字母順序(即 lname列)
的Clie NT
Cid Fname Lname Fitness
C129 Julie Summer 1
C525 Max Hedrum 3
C628 John Long 3
C772 Warren Peace 2
C829 Anna Heart 2
計劃
Code Title Fitness
AR02 Aerobics 2
EN99 Endurance 3
TU10 Tune-Up 1
UB01 Upper-Body 2
YG02 Yoga 1
員工
Sid Fname Lname Position Salary
S09 Jenny Sayer Psychologist 23500
S22 Allen Moore Instructor 21500
S28 Polly Purves Instructor 19000
S35 Jim Shoe Instructor 18000
S55 Mark Spencer Manager 25500
類
Code Sid Cid
AR02 S35 C772
EN99 S22 C525
TU10 S35 C129
UB01 S28 C628
YG02 S22 C829
YG02 S22 C12
它是這樣的:
SELECT Cliente.Fname, Cliente.Lname
FROM Staff, Class, Cliente
WHERE Staff.Sid = Class.Sid AND Staff.Fname = "Allen" AND Staff.Lname = "Moore
AND Class.Cid = Cliente.Cid
GROUP BY Cliente.lName ASC;
謝謝!
您將要使用'order by'而不是'group by'。最好是專門使用連接而不是from中的所有連接。 – Kyra 2012-01-09 20:05:52
不公平的投票 - 這個問題很簡單但合理,努力找到答案。 – 2012-01-09 20:17:49
表名中有Cliente(法語?)與Client的小問題。 GROUP BY是不正確的(它應該列出兩個列,因爲它們不是聚合的,然後它不會造成任何傷害,除了可能慢一點的事情;它不保證輸出順序;有一列,它只是錯誤)。而且你的代碼並沒有使用更現代的(自1992年以來)標準的SQL連接符號。但是,除了這些小問題之外,我相信這個問題的寫法是可行的。對於如何在答案中使用顯式連接編寫查詢,您有許多建議。 – 2012-01-09 20:20:40