Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用exists从SQL服务器中选择值_Java_Sql Server_Hibernate - Fatal编程技术网

Java 使用exists从SQL服务器中选择值

Java 使用exists从SQL服务器中选择值,java,sql-server,hibernate,Java,Sql Server,Hibernate,我目前正在为一家医院的临床实验室做一个项目。我在从数据库中获取数据时遇到了一个问题。问题如下 我有两类测试,即单一测试和剖面测试。测试主表包含这两类测试 TESTSLAB\u测试服务主表 测试的类型和类别存储在下表中 实验室服务类型 如果测试属于单一测试类别,我需要在下表的列中填写详细信息,即LAB_样本映射、LAB_参数映射和LAB_测试位置 实验室样本制图 实验室参数映射 实验室测试地点 如果测试属于概要测试类别,那么我需要在下表的列中填写详细信息,即LAB_Profile_test_LIS

我目前正在为一家医院的临床实验室做一个项目。我在从数据库中获取数据时遇到了一个问题。问题如下

我有两类测试,即单一测试和剖面测试。测试主表包含这两类测试

TESTSLAB\u测试服务主表

测试的类型和类别存储在下表中

实验室服务类型

如果测试属于单一测试类别,我需要在下表的列中填写详细信息,即LAB_样本映射、LAB_参数映射和LAB_测试位置

实验室样本制图

实验室参数映射

实验室测试地点

如果测试属于概要测试类别,那么我需要在下表的列中填写详细信息,即LAB_Profile_test_LIST。在这里,对于每个概要文件测试,我都将一个测试映射到它

实验室概况测试清单

我已经完成了以下代码来查找映射的测试名称,即对于单个测试,如果映射了,那么来自LAB_test_服务的TestInTTestId将插入LAB_Sample_MAPPING中,LAB_参数映射和LAB_测试位置,或者如果测试是配置文件测试,则LAB_测试服务中的TestInTTITID将插入LAB_配置文件测试列表中

映射为单一测试和概要测试的测试。我对我的问题的贡献


因此,当我尝试这样做时,没有测试出现,因为我知道不会有同时具有单一测试和概要测试特征的测试。我做了那么多事情,但找不到解决办法。请帮我找出详细的测试,它被映射为单一和配置文件。我正在使用Java、Hibernate和SQL SERVER。提前感谢

在您的最后一句话中,您写道不会出现任何测试,因为我知道不会有同时具有单一测试和配置文件测试特征的测试,因此您已经知道,如果您查找同时映射为单一测试和配置文件的测试,则无法获得结果。如果您已经知道这样的结果不存在,您希望如何找到结果?我不尝试获取映射为single和profile的测试的结果。我需要获取映射的single test的详细信息,以及映射到单个查询中的profile test的详细信息,以便在窗口中显示。请参考我的问题,映射对我意味着什么。您是否尝试使用或而不是AND?是的,我不知道单个测试列表是否正常工作,但如果使用或,则概要文件测试将无法正常工作
CREATE TABLE LAB_TEST_SERVICES (inttestid bigint identity NOT NULL IDENTITY,
testid varchar(15) NOT NULL, testname varchar(255) NOT NULL, cptdesc varchar(300),
splinstr varchar(300), tstabbr varchar(25), reordertime numeric(15),
tstduration numeric(15), autocancel numeric(15), minbiltime numeric(15),
status int NOT NULL, maxbiltime numeric(15), PRIMARY KEY (inttestid));
CREATE TABLE LAB_SERVICES_TYPE (inttypeid bigint identity NOT NULL IDENTITY,
inttestid bigint NOT NULL, testtype varchar(25), visitype int NOT NULL,
appgendr char(2) NOT NULL, PRIMARY KEY (inttypeid));
CREATE TABLE LAB_SPECIMEN_MAPPING (inttestspcid bigint identity NOT NULL IDENTITY,
inttestid bigint NOT NULL, intspcid bigint NOT NULL, intcontid bigint NOT NULL,
volcol numeric(15, 3) NOT NULL, volreq numeric(15, 3) NOT NULL,
status int NOT NULL, PRIMARY KEY (inttestspcid));
CREATE TABLE LAB_PARAMETER_MAPPING (intparaid bigint identity NOT NULL IDENTITY,
inttestid bigint NOT NULL, paraname varchar(255) NOT NULL,
parseq numeric(15, 3) NOT NULL, resulttype varchar(30), shortname varchar(30),
mand int NOT NULL, derived int NOT NULL, status int NOT NULL,
PRIMARY KEY (intparaid));
CREATE TABLE LAB_TEST_LOCATION (intlocid bigint identity NOT NULL IDENTITY,
intlabid bigint NOT NULL, inttestid bigint NOT NULL, status int NOT NULL,
PRIMARY KEY (intlocid));
CREATE TABLE LAB_PROFILE_TEST_LIST (intproftestid int identity NOT NULL IDENTITY,
intprotestid int NOT NULL, intsintestid int NOT NULL, PRIMARY KEY (intproftestid));
SELECT *
FROM LAB_TEST_SERVICES lts
WHERE EXISTS
(SELECT lsm.inttestid 
    FROM LAB_SPECIMEN_MAPPING lsm
    WHERE lsm.status = 1
    AND lts.inttestid = lsm.inttestid)
AND EXISTS
(SELECT ltl.inttestid 
    FROM LAB_TEST_LOCATION ltl
    WHERE ltl.status = 1
    AND lts.inttestid = ltl.inttestid) 
AND EXISTS 
(SELECT lptr.intprotestid
    FROM LAB_PROFILE_TEST_LIST lptr WHERE lts.inttestid = lptr.intprotestid)