[英]Using Two Tables with the WHERE clause from two databases
我有兩個來自兩個不同數據庫的表。 TableA(數據庫1)和TableB(數據庫2) 。 TableA具有三個屬性(student_id,semester,account_status),而TableB具有兩個屬性(student_id,assesor_status) 。 我如何同時連接到兩個數據庫,並從兩個表中提取數據,並將其計算為具有account_status值“ ACTIVE”,semeter值“ 6”和assesor_status 的所有student_id的總和 值“待定 ”
這是我所做的,但是我無法同時連接到兩個數據庫。
SELECT (COUNT)TableA.student_id
FROM TableA, TableB
WHERE semester = '6'
AND account_status = 'ACTIVE'
AND assesor_status = 'PENDING';
如果您使用一個連接來訪問兩個數據庫,則可以
SELECT COUNT(a.student_id)
FROM DBA.TableA a
INNER JOIN DBB.TableB b ON a.student_id = b.student_id
WHERE a.account_status = 'AVTIVE'
AND a.semesteer = '6'
AND b.assesor_status = 'PENDING'
否則,您可以使用兩個查詢
SELECT b.student_id
FROM TableA b
WHERE b.assesor_status = 'PENDING'
然后將結果與IN
SELECT COUNT(a.student_id)
FROM TableA a
WHERE a.student_id IN(?) -- result from previous query
AND a.account_status = 'AVTIVE'
AND a.semesteer = '6'
句法錯誤
您在WHERE子句中缺少表名。 semester
, account
和assesor_status
列應位於某些表中。 像添加對student_id
列一樣,添加表名。
邏輯錯誤
另外,我看不到查詢中定義的TABLEA
和TABLEB
之間的關系。 您應該添加它以獲得預期的結果
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.