Java 连接两个表,其中第二个表中的值不等于特定数字
我试图获取flow_定义表中的所有行,其中flow_权限表中的非对应行的flow_权限为4。下面的查询让我很接近:Java 连接两个表,其中第二个表中的值不等于特定数字,java,mysql,hibernate,spring-boot,jpa,Java,Mysql,Hibernate,Spring Boot,Jpa,我试图获取flow_定义表中的所有行,其中flow_权限表中的非对应行的flow_权限为4。下面的查询让我很接近: SELECT DISTINCT fd FROM FlowDefinition fd LEFT JOIN fd.permissions p WHERE p.flowPermissionFk <> 4 从FlowDefinition fd左连接fd.permissions p中选择DISTINCT fd FROM FlowDefinition fd LEFT JOIN f
SELECT DISTINCT fd FROM FlowDefinition fd LEFT JOIN fd.permissions p WHERE p.flowPermissionFk <> 4
从FlowDefinition fd左连接fd.permissions p中选择DISTINCT fd FROM FlowDefinition fd LEFT JOIN fd.permissions p,其中p.flowPermissionsFK 4
但是,flow_permission中的所有行都需要具有flow_permission_键4才能不返回该行
数据库中有一行具有两个权限,一行具有FLOW_PERMISSION_FK=1,另一行具有FLOW_PERMISSION_FK=4。但是,除非我将两个权限行中的FLOW_PERMISSION_FK都设置为4,否则仍将返回该行
我还在Spring Boot应用程序中使用Hibernate,但我相信SQL或多或少是这里的问题。一行怎么可能有两个值用于同一列?权限表中有多行与FlowDefinition的外键匹配。