我的数据库中有如下三张表:
code_project,(项目)
QM_Certificate_Company,(公司)
QM_Certificate_WatchMan(人员)
其中人员表通过公司编号与公司建立关系,公司表通过项目编号于项目表建立关系!
在ADOQUERY中执行如下语句:‘
SELECT QM_Certificate_WatchMan.*
FROM code_project INNER JOIN
QM_Certificate_Company ON
code_project.ProjectCode = QM_Certificate_Company.ProjectCode INNER JOIN
QM_Certificate_WatchMan ON
QM_Certificate_Company.CompanyCode=QM_Certificate_WatchMan.CompanyCode
WHERE code_project.PowerplantSenquence='+ ''''+ Code1 +''''
其中Code1是查询变量!
查询结果没有问题。
在执行删除操作的时候会有如下的问题,张三属于A公司,李四属于A公司,删除张三结果正常,另外的情况只有张三属于A公司,删除张三的记录时,同时也会把公司表中A公司记录删除,我并不想把公司的记录同时删除,数据库(SQL 2000)中没有建立关系,是单独的表。请问是不是SQL语句有错误,该怎么写?是否用Left Join还是Right Join?
code_project,(项目)
QM_Certificate_Company,(公司)
QM_Certificate_WatchMan(人员)
其中人员表通过公司编号与公司建立关系,公司表通过项目编号于项目表建立关系!
在ADOQUERY中执行如下语句:‘
SELECT QM_Certificate_WatchMan.*
FROM code_project INNER JOIN
QM_Certificate_Company ON
code_project.ProjectCode = QM_Certificate_Company.ProjectCode INNER JOIN
QM_Certificate_WatchMan ON
QM_Certificate_Company.CompanyCode=QM_Certificate_WatchMan.CompanyCode
WHERE code_project.PowerplantSenquence='+ ''''+ Code1 +''''
其中Code1是查询变量!
查询结果没有问题。
在执行删除操作的时候会有如下的问题,张三属于A公司,李四属于A公司,删除张三结果正常,另外的情况只有张三属于A公司,删除张三的记录时,同时也会把公司表中A公司记录删除,我并不想把公司的记录同时删除,数据库(SQL 2000)中没有建立关系,是单独的表。请问是不是SQL语句有错误,该怎么写?是否用Left Join还是Right Join?
解决方案 »
- 关于协议与开发平台选择!!!
- 请问COM跟DLL到有什么区别?
- 已知一段二进制文件,问题1,如何将其存为BMP文件,2,如何将其存入数据库
- 文本文档到数据库的问题!!
- 恳请大家帮忙一下,奇怪的问题??!
- 请教关于FormCloseQuery的一点问题?
- TDBCombobox中一个奇怪的问题
- 如何在Delphi中使用正则表达式?(三天结帖)
- 关于LISTVIEW的属性
- 怎样用API函数创建菜单和子菜单?附API函数说明
- 哪位兄弟有带预览功能的flash屏保的源代码,给我发一份吧。
- 请问用UDP客户向客户发信息时!经过server 时,客户是怎样将另一个客户的IP,PORT ,SERVER .....
具体什么原因说不清,但总体感觉这样的query和视图性质差不多,理论上不能进行删除操作,但实际上...试试删除视图中的记录就知道了
查询用表间联接只会影响取数的结果,你的操作跟内/外联无关。
还是直接用delete QM_Certificate_WatchMan WHERE code_project.PowerplantSenquence='+ ''''+ Code1 +''''
完成。