二个表相同记录过滤SQL写法

米家 2011-12-07 11:32:04
表一,Expense

private Project project;
private String type;
project type
2 L3_03
3 L3_03
4 L3_01

表二,Project
private Long id;
id
1
2
3
4
查询 Project 过滤 Expense 表字段(project type)相同id的值
则显示 表
Project
id
1
4
...全文
88 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
米家 2011-12-07
  • 打赏
  • 举报
回复
我是用ssh做的
下面是我的model定义
表二 :Expense.java
private Project project; //关联 Project.java
private String type; //类型
表二:Project.java
private Long id; //编号(主键)
如果Expense 信息 type="L3_03" 外键id(Project)信息不显示

主要显示Project 表信息
--小F-- 2011-12-07
  • 打赏
  • 举报
回复
select * from Project t where not exists (select 1 from Expense from Project = t.Project and type = t.type)
dawugui 2011-12-07
  • 打赏
  • 举报
回复
没看懂你的内容,如果是Project
select t2.* from t2 where Project not in (select Project from t1)

如果是project + type
select t2.* from t2 where not exists (select 1 from t1 from t2.Project = t1.Project and t2.type = t1.type)
稻草_木偶 2011-12-07
  • 打赏
  • 举报
回复
select * from T_PROJECT t where not exists (select 1 from T_EXPENSE from t.f_type ='ZHL3_WK_03') 改成where
米家 2011-12-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 fredrickhu 的回复:]

SQL code
select * from Project t where not exists (select 1 from Expense from Project = t.Project and type = t.type)
[/Quote]
只要根据type判断 关联表是否显示数据就可以了
select * from T_PROJECT t where not exists (select 1 from T_EXPENSE from t.f_type ='ZHL3_WK_03')
不对啊- -!!我是用SQL查询分析
错误为
服务器: 消息 156,级别 15,状态 1,行 1
在关键字 'from' 附近有语法错误。

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧