要列出所有病人病历号、姓名和所用的药品总价,下列的语句正确的是______。

admin2012-03-23  26

问题
要列出所有病人病历号、姓名和所用的药品总价,下列的语句正确的是______。

选项 A、SELECT 病历号,姓名,药品总价;    FROM BRDA,MXB;    GROUP BY 病历号   
B、SELECT BRDA.病历号,BRDA.姓名,SUM(MXB.数量 * MXB.单价)AS药品总价;    FROM BRDA INNER JOIN MXB;    WHERE BRDA.病历号=MXB.病历号;    GROUP BY BRDA.病历号   
C、SELECT BRDA.病历号,BRDA.姓名,SUM(MXB.数量 * MXB.单价)AS 药品总价;    FROM BRDA INNER JOIN MXB;    ON BRDA.病历号=MXB.病历号;    GROUP BY BRDA.病历号   
D、SELECT BRDA.病历号,BRDA.姓名,SUM(MXB.数量 * MXB.单价)AS 药品总价;    FROM BRDA INNER JOIN MXB;    ON BRDA.病历号=MXB.病历号;    ORDER BY BRDA.病历号

答案C

解析 由于需要两个表中的信息,根据语义可知两个表之间应根据病历号相等建立内部连接,内部连接用ON表示连接条件而不是用WHERE表示连接条件。连接后应根据病历号进行分组,求出每个病历的药品总价,求药品总价可用SUM()函数对表达式“MXB.数量 * MXB.单价”进行求和。注意GROUP BY子句和ORDER BY子句的区别。
转载请注明原文地址:https://kaotiyun.com/show/Vdzp777K
0

最新回复(0)