我有两张桌子:
表1:info1->其中有pid(主键)、名称、地址、性别等。
表2:访问->我有PID(外键)的地方,
访问日期,下次访问,详细信息
我使用了一个查询

SELECT info1.Patient_ID, visit.Visit_Date, visit.Next_Visit,
visit.Visit_Details from info1, visit WHERE info1.Patient_ID ="%"

这个问题正确吗?是吗?
LabVIEW代码:
database - LabVIEW数据库查询中“条件表达式中的数据类型不匹配”-LMLPHP
前面板:
database - LabVIEW数据库查询中“条件表达式中的数据类型不匹配”-LMLPHP
表1(信息1):
database - LabVIEW数据库查询中“条件表达式中的数据类型不匹配”-LMLPHP
表2(访问):
database - LabVIEW数据库查询中“条件表达式中的数据类型不匹配”-LMLPHP
错误:
database - LabVIEW数据库查询中“条件表达式中的数据类型不匹配”-LMLPHP

最佳答案

您的查询需要一个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,则只会得到两个表中都有条目的患者id的结果。例如,如果您想查看所有患者的id是否有visit记录,您可以使用LEFT OUTER JOIN
注意:在您显示的labview代码中,您是通过从用户提供的数据(前面板控件)构建一个字符串来构造查询的。这是一个非常糟糕的主意,因为它允许恶意用户进行sql注入攻击。您应该查找如何将该值作为参数提供给labview数据库函数。

09-25 17:26
查看更多