當前位置:首頁 » 編程語言 » accesssql聯合查詢
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

accesssql聯合查詢

發布時間: 2022-11-28 09:19:07

⑴ vb可以對access和sql兩種不同資料庫進行聯合查詢么

不可以,你完全可以用其他的方式來實現,比如先查詢Access獲得一個記錄集RecordSet,再利用這個記錄集中的數據去查詢SQL (Server?)中的數據。

⑵ ACCESS資料庫中如何實現多表聯合查詢

1、Access 資料庫多表聯合查詢,每次連接之前須將連接符前面的內容放在括弧裡面,示例如:select 表a.欄位1,表b.欄位1,表c.欄位1,表d.欄位1 from ((表a inner join 表b on 表a.欄位=表b.欄位) inner join 表c on 表c.欄位=表a.欄位)inner join 表d on 表a.欄位=表d.欄位
2、如果每個聯合欄位不止一個可將on後面條件加(),如:select 表a.欄位1,表b.欄位1,表c.欄位1,表d.欄位1 from (表a inner join 表b on (表a.欄位1=表b.欄位1 and 表a.欄位2=表b.欄位2)) inner join 表c on 表c.欄位=表a.欄位
3、如果要一次聯合一個表多次,但條件不同,可以每次連接此表時給此表換個別名,用別名操作即可,如:select aa.欄位1,表b.欄位1,表c.欄位1,bb.欄位2 from ((表a as aa inner join 表b on aa.欄位1=表b.欄位) inner join 表c on 表c.欄位=表a.欄位)inner join 表a as bb on 表a.欄位=bb.欄位2.

⑶ vb SQL多表聯合查詢問題(Access資料庫表)

聯合查詢不是你那麼用的,聯合查詢是用於欄位的聯合,也就是會橫向擴展表。
例如A表中會有人物id,姓名,年齡等,而b表中會有每個人每次考試的成績,也就是成績id,成績分數,人物id。
這時如果要查詢什麼人(姓名)得了多少分,就需要用聯合查詢了。也就是將成績表橫向擴展出一欄姓名出來。
你這種情況應該把數據放在一個表裡比較好點。
如果實在不希望改資料庫,那麼有這么兩種辦法:
1.子查詢:就像badkano
回答的。不過那個new_table
名稱要你自己改的。不能原樣不動。這個表你自己根據那幾個表的結構建,你不是說那幾個表完全一樣嗎。
2.在程序代碼中用循環語句分幾次查詢,最後把查詢結果合到一塊。
3.用語句建立一個臨時表,將那些表的內容都查詢到臨時表裡面。

⑷ Access的SQL聯合查詢中的問題

elect new_table.編號,new_table.地址,new_table.名稱,new_table.其它 from
(select * from a union all
select * from b union all
select * from c union all
select * from d union all
select * from e) as new_table
名稱 Like " & "'" & text1.text & "'"

----補充---

new_table不是新建的表,只是給那括弧里的查詢起一個別名
要不可以改成
Adodc1.RecordSource = "select new_table.編號,new_table.地址,new_table.名稱,new_table.其它 from
(select * from a union all
select * from b union all
select * from c union all
select * from d union all
select * from e) as new_table where
名稱 Like " & "'" & text1.text & "'"

---補充---

少寫了個where

⑸ 用access做個庫存,SQL 聯合查詢,入庫減出庫得到庫存不對,請教!

1.明顯有問題啊~~~原有庫存數據你沒有考慮啊~~~除非做入庫的時候是0庫存,不然你的要考慮在入庫之前的初始庫存數據啊~
2.內鏈接的問題,如果不考慮初始庫存,那入庫與出庫的內鏈接會過濾掉一部分有入庫但是沒有出庫的數據,在你查找的項目裡面是沒有這部分數據的。
我沒理解你說的修改庫存編號的問題,入庫的時候如果庫存裡面已經有這個編碼,那就修改入庫單中物資的編碼還是修改庫存數據中已經有的這個編碼?我覺得你這個計算方式本身就是錯的。而且如果物資管理系統在使用的話,物資的編碼最好不要輕易修改,容易造成很大的管理問題。
我還是建議你考慮初始盤點庫存,用多個表聯查來解決這個問題,不要通過鏈接,
因為不管左鏈接還是右鏈接,他們都是以一張表做基礎來進行合並。比如a表中有欄位:1,2,3
B表中的欄位:1,3,4;如果用左鏈接,那合並後結果:1,2,3
;b表中的4列就沒法顯示,右鏈接的話同理的。
用入庫表,出庫表,庫存表
現庫存=入庫表數量+庫存表數量-出庫表數量,這樣計算出的應該要准確的多。

⑹ Access中SQL聯合查詢

EASAY,這是因為你的條件沒有引用「」,直接給的數值是不行的,自己通過向導建一個簡單的表條件查詢,然後看看這個查詢對應的SQL語句就會看到語句格式。
WHERE條件中的=後面要用「」把值引起來才是正規格式,要不會讓你輸入參數的彈框

⑺ access中SQL中聯合查詢出現如圖是怎麼回事

是不是union 前的select 列表與union 後的select 列表中列的個數不一樣?
如select col1,col2,col3 from table1 union select co1,col2 from table2 前面的select 比後面的多一列

⑻ 如何對access中兩個資料庫中表進行聯合查詢

點擊菜單欄上面的:創建——查詢設計;
在彈出的對話框中選擇兩個表:訂單和訂單明細,然後點擊添加;
添加下列欄位到設計表中;
點擊菜單欄上面的保存按鈕;
在彈出的對話框中,輸入這個查詢的名字,然後點擊確定即可。

⑼ 求解,access的數據SQL聯合分頁查詢

declare @tb1 table(ID int identity, PName varchar(10), ClassID int)
declare @tb2 table(ClassID int, ClassName varchar(10))
insert into @tb1(PName, ClassID) select '西瓜', 1
union all select '香蕉', 1
union all select '蘋果', 1
union all select '電視', 2
union all select '電腦', 2
insert into @tb2 select 1,'水果類' union all select 2,'電器類'

-- 在最外層加個left join
SELECT TOP 2 a.*, b.ClassName
FROM @tb1 a left join @tb2 b on a.ClassID = b.ClassID
WHERE (ID >
(SELECT MAX(id)
FROM (SELECT TOP 4 id
FROM @tb1
ORDER BY id) AS T))
ORDER BY ID