請教關於ACCESS交叉表查詢的問題啊

時間 2022-06-13 12:40:14

1樓:匿名使用者

你的這個資料庫本身就是一個錯誤的設計。

你需要兩個表——

表1:人員編號、姓名、單位;

表2:人員編號、年份、培訓。

查詢:select * from 表2 left join 表1 on 表2.人員編號 = 表1.

人員編號 where 年份 in (2001, 2002, 2007) and 培訓 = 0

補充(舉個例子):

表1資料

編號 姓名 單位

0001 張三 人事局

0002 李四 海事局

表2資料

編號 年份 培訓

0001 2006 yes

0002 2006 yes

0001 2007 yes

0002 2007 no

0001號員工張三,在2006和2007都有參加培訓。

0002號員工李四,只在2023年有參加培訓。

表1中的編號為主關鍵字,表2中編號和年份為複合關鍵字。

建議你去學一下《資料庫系統原理》,設計出好的資料庫,才能保證你以後的工作能夠正確有效的開展。

那需要三個表,把培訓資訊單獨拿出來。

表1:[人員編號]、姓名、單位;

表2:[人員編號]、[培訓編號]、參加;

表3:[培訓編號]、年份、培訓內容。

表1資料

人員編號 姓名 單位

0001 張三 人事局

0002 李四 海事局

表2資料

人員編號 培訓編號 參加

0001 0001 yes

0002 0001 yes

0001 0002 yes

0002 0002 no

表3資料

培訓編號 年份 培訓內容

0001 2006 掃地

0002 2007 擦桌子

查詢:select 表2.*, 表1.

姓名, 表1.單位, 表3.年份, 表3.

培訓內容 from 表2 inner join 表1 on 表2.人員編號 = 表1.人員編號 inner join 表3 on 表3.

培訓編號 = 表2.培訓編號

2樓:匿名使用者

呵呵,簡單的我還可以做,是transform函式吧,可以hi我。免費的。呵呵。

3樓:匿名使用者

你把表結構寫出來,把你的查詢條件也寫上。

Access中關於查詢的問題

使用dateserial 2014,month 考試日期 day 考試日期 函式統一年份為2014,保留月份和日期,然後用between.and.條件篩選就可以了。參考 select dateserial 2014,month 考試日期 day 考試日期 as 日期 from 考試記錄 where ...

Access兩個表一對多關係如何實現查詢

小開文件鋪 select name,學科,學科成績 from 學生表,成績表where 學生表.name 成績表.name 學生表.name 和 成績表.name 做成一對多的關係,使用上述查詢就可以了。此外,不建議用name作聯絡欄位,最好用一個id欄位,因為name可能會重複。有問題可以找我 t...

關於sqlserver臨時表的問題,請教高手

string strsql select userid,usernm into pro set 執行建立臨時表的sql com.executenonquery 這裡呼叫了一個更新或追加的sql string strsql select userid,usernm into pro set 這裡拼接哪...