簡體   English   中英

在兩個數據庫中的WHERE子句中使用兩個表

[英]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子句中缺少表名。 semesteraccountassesor_status列應位於某些表中。 像添加對student_id列一樣,添加表名。

邏輯錯誤

另外,我看不到查詢中定義的TABLEATABLEB之間的關系。 您應該添加它以獲得預期的結果

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM