sql - 选择带有一些 pblm 的内部连接的查询
问题描述
SELECT DISTINCT
response_user, patient_name, ipno, department
FROM
response
INNER JOIN
patient_details ON response.response_user = patient_details.id
INNER JOIN
key_points ON response.response_key = key_points.kp_id
WHERE
department = 'CVTS'
AND MONTH(response_on) BETWEEN '12' AND '12'
AND response_key BETWEEN 146 AND 149
AND response_val = '5' OR response_val = '4'
AND kp_belongs_to = '1'
ORDER BY
patient_name ASC
我想要特定科室的患者姓名
解决方案
我建议您使用表别名并在列名之前加上这些别名,以便始终清楚哪个列属于哪个表。
虽然这是一个简单的SELECT
语句(没有什么花哨的),但最好指定您使用的数据库。
说有“一些 pblm”(你的键盘坏了吗?为什么不写“问题”呢?)很难调试。运行该语句时是否有任何错误?如果有,是哪一个?
此外,如果您对编写的代码进行格式化,那就太好了;当它看起来更漂亮时,更容易发现罪魁祸首。我这样做了,并且 - 如果其他一切正常,表格正确连接等,或者可能是那个,即
SELECT DISTINCT response_user,
patient_name,
ipno,
department
FROM response
INNER JOIN patient_details ON response.response_user = patient_details.id
INNER JOIN key_points ON response.response_key = key_points.kp_id
WHERE department = 'CVTS'
AND month(response_on)BETWEEN '12' AND '12'
AND response_key BETWEEN 146 AND 149
AND ( response_val = '5' --> OR condition should be enclosed
OR response_val = '4' --> into parenthesis
)
AND kp_belongs_to = '1'
ORDER BY patient_name ASC
看看有没有帮助。如果没有,请考虑遵循我为帮助我们帮助您而编写的指南。
推荐阅读
- qt-creator - 如何在 qt creator 中使用 CMake 文档
- jquery - jQuery自动完成过滤问题
- javascript - 关键道具
- c# - 当应用程序以管理员身份运行时,打开第二个表单时是否可以要求用户权限?
- node.js - 搜索栏车把+猫鼬
- c++ - C++中的动态字符数组用C风格的字符串初始化
- javascript - 实现多语言 url nextjs 和 next-i18n-next
- java - 得到了错误的答案,但在 Google Kickstart 任务中的输出是正确的
- flutter - Flutter:有没有办法在 Flutter 中访问 Gmail(邮箱)?
- javascript - .obj 纹理和颜色未在 Three.js 中显示