我有来自两个不同数据库的两个表。 TableA(数据库-1)和 TableB(数据库-2)。 TableA 有三个属性(student_id,semester,account_status), TableB 有两个属性(student_id,assesor_status)。我如何同时连接到两个数据库并从两个表中提取数据,并计算给我所有student_id 的总和,其中 account_status值&# 39; ACTIVE'和semeter值' 6'和assesor_status有价值'待定'
这就是我所做的,但是我无法同时连接到两个数据库。
SELECT (COUNT)TableA.student_id
FROM TableA, TableB
WHERE semester = '6'
AND account_status = 'ACTIVE'
AND assesor_status = 'PENDING';
答案 0 :(得分:1)
如果您使用一个连接来访问两个数据库,则可以
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'
答案 1 :(得分:-1)
语法错误
您缺少WHERE子句中的表名。 semester
,account
和assesor_status
列应位于某个表格中。像为student_id
列一样添加表名。
逻辑错误
另外,我没有看到您的查询中定义的TABLEA
和TABLEB
之间的关系。您应该添加它以获得预期结果