SQL 语句子查询怎么写?

如何写一个在另一个复合条件的查询记录中进行符合条件的查询

select * from tablename where name='asd' and info='INFO' and code like '001*'

这里的and code like '001*' 能不能作为一个子集(因为上面并列的时候它没有生效)
比如 :select * from tablename where code in select * from tablename where name='asd' and info='INFO' and code like '001*'
我知道这样肯定不对,不知如何解决这个问题?

...全文
663 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
只有一个表。
我原来的SQL语句是这样的:

LC_Sql := 'select * from tablename where'
+ lc_str + 'and code like '+ '''' +'001'+'*'+ '''';

query1.sql.add(lc_Sql);
...
...

lc_str 是界面操作得来的一个多项查询的条件,也就是比如下面的这个条件:
name='asd' and info='INFO'

现在的问题就是 当 lc_str是 name='asd'的时候,查询结果符合要求,也就是
它既考虑了code like '001*' 也考虑了 name='asd' ;
现在的问题是:lc_str 为两个以上的条件时,查询后的结果并没有执行
code like '001*'的条件,而是从全部的记录中查旬。

我用的是access97 + bde5+delphi5
从表面上看这没有错误,可实际情况就是这样,不知你们这么看待?

我刚刚受到启发,在 lc_Str 两边加了括号,结果正常了,不过我值得怀疑
这种现象,或者说是为什么?

最后,各位高人辛苦了,稍候结账,不管你回答正确与否,这不重要,重要的是
我们要讨论问题,人人有赏!!:))
BobLeeCn 2002-03-14
  • 打赏
  • 举报
回复
若是SQL SERVER,将 Code Like '001*'改为 Code Like '001%'就可以,不用写子查询。
forgot 2002-03-14
  • 打赏
  • 举报
回复
select a.* from tablename a,(Select * from tablename where code like '001*') b where a.name='asd' and a.info='INFO' and a.code=b.code
forgot 2002-03-14
  • 打赏
  • 举报
回复
select a.* from tablename a,(Select * from tablename where code like '001*') b where where a.name='asd' and a.info='INFO' and a.code=b.code
LXJ2001 2002-03-14
  • 打赏
  • 举报
回复
你把问题描述更清楚一些,如表名,字段,要实现什么样的查询。
LXJ2001 2002-03-14
  • 打赏
  • 举报
回复
如果是一张表用不着子查询:
select * from tablename where name='asd' and info='INFO' and code like '001*', 不好吗?
如果两张表,最好也不用IN子查询。
  • 打赏
  • 举报
回复
提示 from 子句错误
  • 打赏
  • 举报
回复
try to on
  • 打赏
  • 举报
回复
事实证明:

select * from parts_list where (amount_one=2 or weight_one>8) and code in (select Code from parts_list
where code like '002*' )


select * from parts_list where (amount_one=2 or weight_one>8) and code like '002*'

两个的生成结果是一样的


select * from parts_list where amount_one=2 or weight_one>8 and code like '002*' )
表达式能通过但结果不正确。

前两种可以采纳,是正确的。

to mysine(宝兰) :谢谢你,可是access不象sqlserver 它不支持 select * from (select * from ...) where 这样的语句,它提示 from子句错误。不过
你的思路是正确的,非常感谢。


kb(天堂游侠)
LXJ2001(lxj)
ling(ling) 你们都正确,是我犯糊涂了,呵呵,不过学了一招:
select * from parts_list where (amount_one=2 or weight_one>8) and code in (select Code from parts_list
where code like '002*' )
这样写法很清楚,结构清晰,虽有些冗余,也是值得采纳,尤其是大型数据库的时候。



szyws 2002-03-14
  • 打赏
  • 举报
回复
select *
from tablename
where code in (select code from tablename where code like '%001%')
and name='asd'
and info='INFO'

不知道你想到达什么效果,是不是如果没有符合code like '001*'它的条件时就显示全部,有则显示?
如果是用视图就可以解决
create view v_tablename
as
select *
from tablename
where name='asd'
and info='INFO'

select *
from tablename t
left join v_tablename v on v.id=t.id and code like '%001%'
mysine 2002-03-14
  • 打赏
  • 举报
回复
再补充一下!!
lc_str中要写明字段所隶属的表,是你的查询集所生成的表,如现在这个Tablename1
mysine 2002-03-14
  • 打赏
  • 举报
回复
LC_Sql :=
'select *
from
( select * from tablename where code like where
code like ''001%'')
tablename1
Where ' + lc_str ;
query1.sql.add(lc_Sql);

如果不是你的lc_str子句组合有问题,这样一定行的,因为以前我这样用过!!
希望你仔细一点,再试一试,一定会好用的。
有一点耐心,你一定会成功的:)

LXJ2001 2002-03-14
  • 打赏
  • 举报
回复
我把语句在ACCESS中试了一下,没有问题的,like的计算优先级比AND高。
把生成的SQL放入MEMO,复制到ACCESS中执行看看。
ling 2002-03-14
  • 打赏
  • 举报
回复
是不是你的lc_str条件中有or? 这样就需要注意加括号了. 如果全是and应该不会有问题.
kb 2002-03-14
  • 打赏
  • 举报
回复
select * from tablename where name='asd' and info='INFO' and code in (select Code from tablename where code like '001*' )
知足常乐 2002-03-13
  • 打赏
  • 举报
回复
上面的都行吧
kplchx 2002-03-13
  • 打赏
  • 举报
回复
select a.* from (select * from table where code like '001*') a
where a.name='asd' and a.info='INFO'
其实结果应该和以上各位是一样的
kplchx 2002-03-13
  • 打赏
  • 举报
回复
select a.* from ( select * from table where code like '001*') a
where a.name='asd' and info='info'
steave 2002-03-13
  • 打赏
  • 举报
回复
select * from tablename where name='asd' and info='INFO' and code in (select code from 表名 where 条件)

iroi 2002-03-13
  • 打赏
  • 举报
回复
select * form 表名 where "字段" in (select * from "表名" )
加载更多回复(3)
数据描述 涉及内容包括但不限于:中英文敏感词、语言检测、中外手机/电话归属地/运营商查询、名字推断性别、手机号抽取、身份证抽取、邮箱抽取、中日文人名库、中文缩库、拆字词典、词汇情感值、停用词、反动词表、暴恐词表、繁简体转换、英文模拟中文发音、汪峰歌词生成器、职业名称词库、同义词库、反义词库、否定词库、汽车品牌词库、汽车零件词库、连续英文切割、各种中文词向量、公司名字大全、古诗词库、IT词库、财经词库、成语词库、地名词库、历史名人词库、诗词词库、医学词库、饮食词库、法律词库、汽车词库、动物词库、中文聊天语料、中文谣言数据、百度中文问答数据集、句子相似度匹配算法集合、bert资源、文本生成&摘要相关工具、cocoNLP信息抽取工具、国内电话号码正则匹配、清华大学XLORE:中英文跨语言百科知识图谱、清华大学人工智能技术系列报告、自然语言生成、NLU太难了系列、自动对联数据及机器人、用户名黑名单列表、罪名法务名词及分类模型、微信公众号语料、cs224n深度学习自然语言处理课程、中文手汉字识别、中文自然语言处理 语料/数据集、变量命名神器、分词语料库+代码、任务型对话英文数据集、ASR 语音数据集 + 基于深度学习的中文语音识别系统、笑声检测器、Microsoft多语言数字/单位/如日期时间识别包、中华新华字典数据库及api(包括常用歇后语、成语、词语和汉字)、文档图谱自动生成、SpaCy 中文模型、Common Voice语音识别数据集新版、神经网络关系抽取、基于bert的命名实体识别、关键词(Keyphrase)抽取包pke、基于医疗领域知识图谱的问答系统、基于依存句法与语义角色标注的事件三元组抽取、依存句法分析4万句高质量标注数据、cnocr:用来做中文OCR的Python3包、中文人物关系知识图谱项目、中文nlp竞赛项目及代码汇总、中文字符数据、speech-aligner: 从“人声语音”及其“语言文本”产生音素级别时间对齐标注的工具、AmpliGraph: 知识图谱表示学习(Python)库:知识图谱概念链接预测、Scattertext 文本可视化(python)、语言/知识表示工具:BERT & ERNIE、中文对比英文自然语言处理NLP的区别综述、Synonyms中文近义词工具包、HarvestText领域自适应文本挖掘工具(新词发现-情感分析-实体链接等)、word2word:(Python)方便易用的多语言词-词对集:62种语言/3,564个多语言对、语音识别语料生成工具:从具有音频/字幕的在线视频创建自动语音识别(ASR)语料库、构建医疗实体识别的模型(包含词典和语料标注)、单文档非监督的关键词抽取、Kashgari中使用gpt-2语言模型、开源的金融投资数据提取工具、文本自动摘要库TextTeaser: 仅支持英文、人民日报语料处理工具集、一些关于自然语言的基本模型、基于14W歌曲知识库的问答尝试–功能包括歌词接龙and已知歌词找歌曲以及歌曲歌手歌词三角关系的问答、基于Siamese bilstm模型的相似句子判定模型并提供训练数据集和测试数据集、用Transformer编解码模型实现的根据Hacker News文章标题自动生成评论、用BERT进行序列标记和文本分类的模板代码、LitBank:NLP数据集——支持自然语言处理和计算人文学科任务的100部带标记英文小说语料、百度开源的基准信息抽取系统、虚假新闻数据集、Facebook: LAMA语言模型分析,提供Transformer-XL/BERT/ELMo/GPT预训练语言模型的统一访问接口、CommonsenseQA:面向常识的英文QA挑战、中文知识图谱资料、数据及工具、各大公司内部里大牛分享的技术文档 PDF 或者 PPT、自然语言生成SQL语句(英文)、中文NLP数据增强(EDA)工具、英文NLP数据增强工具 、基于医药知识图谱的智能问答系统、京东商品知识图谱、基于mongodb存储的军事领域知识图谱问答项目、基于远监督的中文关系抽取、语音情感分析、中文ULMFiT-情感分析-文本分类-语料及模型、一个拍照做题程序、世界各国大规模人名库、一个利用有趣中文语料库 qingyun 训练出来的中文聊天机器人、中文聊天机器人seqGAN、省市区镇行政区划数据带拼音标注、教育行业新闻语料库包含自动文摘功能、开放了对话机器人-知识图谱-语义理解-自然语言处理工具及数据、中文知识图谱:基于百度百科中文页面-抽取三元组信息-构建中文知识图谱、masr: 中文语音识别-提供预训练模型-高识别率、Python音频数据增广库、中文全词覆盖BERT及两份阅读理解数据、ConvLab:开源多域端到端对话系统平台、中文自然语言处理数据集、基于最新版本rasa搭建的对话系统、基于
涉及内容包括但不限于:中英文敏感词、语言检测、中外手机/电话归属地/运营商查询、名字推断性别、手机号抽取、身份证抽取、邮箱抽取、中日文人名库、中文缩库、拆字词典、词汇情感值、停用词、反动词表、暴恐词表、繁简体转换、英文模拟中文发音、汪峰歌词生成器、职业名称词库、同义词库、反义词库、否定词库、汽车品牌词库、汽车零件词库、连续英文切割、各种中文词向量、公司名字大全、古诗词库、IT词库、财经词库、成语词库、地名词库、历史名人词库、诗词词库、医学词库、饮食词库、法律词库、汽车词库、动物词库、中文聊天语料、中文谣言数据、百度中文问答数据集、句子相似度匹配算法集合、bert资源、文本生成&摘要相关工具、cocoNLP信息抽取工具、国内电话号码正则匹配、清华大学XLORE:中英文跨语言百科知识图谱、清华大学人工智能技术系列报告、自然语言生成、NLU太难了系列、自动对联数据及机器人、用户名黑名单列表、罪名法务名词及分类模型、微信公众号语料、cs224n深度学习自然语言处理课程、中文手汉字识别、中文自然语言处理 语料/数据集、变量命名神器、分词语料库+代码、任务型对话英文数据集、ASR 语音数据集 + 基于深度学习的中文语音识别系统、笑声检测器、Microsoft多语言数字/单位/如日期时间识别包、中华新华字典数据库及api(包括常用歇后语、成语、词语和汉字)、文档图谱自动生成、SpaCy 中文模型、Common Voice语音识别数据集新版、神经网络关系抽取、基于bert的命名实体识别、关键词(Keyphrase)抽取包pke、基于医疗领域知识图谱的问答系统、基于依存句法与语义角色标注的事件三元组抽取、依存句法分析4万句高质量标注数据、cnocr:用来做中文OCR的Python3包、中文人物关系知识图谱项目、中文nlp竞赛项目及代码汇总、中文字符数据、speech-aligner: 从“人声语音”及其“语言文本”产生音素级别时间对齐标注的工具、AmpliGraph: 知识图谱表示学习(Python)库:知识图谱概念链接预测、Scattertext 文本可视化(python)、语言/知识表示工具:BERT & ERNIE、中文对比英文自然语言处理NLP的区别综述、Synonyms中文近义词工具包、HarvestText领域自适应文本挖掘工具(新词发现-情感分析-实体链接等)、word2word:(Python)方便易用的多语言词-词对集:62种语言/3,564个多语言对、语音识别语料生成工具:从具有音频/字幕的在线视频创建自动语音识别(ASR)语料库、构建医疗实体识别的模型(包含词典和语料标注)、单文档非监督的关键词抽取、Kashgari中使用gpt-2语言模型、开源的金融投资数据提取工具、文本自动摘要库TextTeaser: 仅支持英文、人民日报语料处理工具集、一些关于自然语言的基本模型、基于14W歌曲知识库的问答尝试--功能包括歌词接龙and已知歌词找歌曲以及歌曲歌手歌词三角关系的问答、基于Siamese bilstm模型的相似句子判定模型并提供训练数据集和测试数据集、用Transformer编解码模型实现的根据Hacker News文章标题自动生成评论、用BERT进行序列标记和文本分类的模板代码、LitBank:NLP数据集——支持自然语言处理和计算人文学科任务的100部带标记英文小说语料、百度开源的基准信息抽取系统、虚假新闻数据集、Facebook: LAMA语言模型分析,提供Transformer-XL/BERT/ELMo/GPT预训练语言模型的统一访问接口、CommonsenseQA:面向常识的英文QA挑战、中文知识图谱资料、数据及工具、各大公司内部里大牛分享的技术文档 PDF 或者 PPT、自然语言生成SQL语句(英文)、中文NLP数据增强(EDA)工具、英文NLP数据增强工具 、基于医药知识图谱的智能问答系统、京东商品知识图谱、基于mongodb存储的军事领域知识图谱问答项目、基于远监督的中文关系抽取、语音情感分析、中文ULMFiT-情感分析-文本分类-语料及模型、一个拍照做题程序、世界各国大规模人名库、一个利用有趣中文语料库 qingyun 训练出来的中文聊天机器人、中文聊天机器人seqGAN、省市区镇行政区划数据带拼音标注、教育行业新闻语料库包含自动文摘功能、开放了对话机器人-知识图谱-语义理解-自然语言处理工具及数据、中文知识图谱:基于百度百科中文页面-抽取三元组信息-构建中文知识图谱、masr: 中文语音识别-提供预训练模型-高识别率、Python音频数据增广库、中文全词覆盖BERT及两份阅读理解数据、ConvLab:开源多域端到端对话系统平台、中文自然语言处理数据集、基于最新版本rasa搭建的对话系统、基于Tens

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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