'标准表达式中的数据类型不匹配'用LabVIEW数据库查询

时间:2017-12-07 06:26:01

标签: database labview

我有两张桌子:

表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 ="%"

这个查询是否正确?

LabVIEW代码: LabVIEW code image

前面板: front panel

表1(info1): table contents screenshot

表2(访问): table contents screenshot

错误: error cluster screenshot

1 个答案:

答案 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数据库函数。