我有两张桌子:
表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代码:
前面板:
表1(信息1):
表2(访问):
错误:
最佳答案
您的查询需要一个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数据库函数。