我有两张桌子:
表1:info1 - >我有pid(主键),姓名,地址,性别等。
表2:访问 - >我有pid(外键), visit_date,next_visit,details
我使用了查询
SELECT info1.Patient_ID, visit.Visit_Date, visit.Next_Visit,
visit.Visit_Details from info1, visit WHERE info1.Patient_ID ="%"
这个查询是否正确?
答案 0 :(得分:1)
您的查询需要JOIN
:
SELECT info1.Patient_ID, visit.Visit_Date, visit.Next_Visit, visit.Visit_Details
FROM info1 INNER JOIN visit ON info1.Patient_ID = visit.Patient_ID
WHERE info1.Patient_ID ="%"
如果您使用上面显示的INNER JOIN
,那么您只会获得在两个表的两者中都有条目的Patient_ID的结果。例如,如果您想查看所有Patient_ID是否有visit
条记录,您可以使用LEFT OUTER JOIN
。
注意:在您已显示的LabVIEW代码中,您正在通过根据用户提供的数据(Patient ID
前面板控件)构建字符串来构建查询。这是一个非常糟糕的主意,因为它启用了恶意用户的 SQL注入攻击。您应该查看如何将值作为参数提供给LabVIEW数据库函数。