如何查询出一个数据库中的某个表中的某个字段?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何查询出一个数据库中的某个表中的某个字段?相关的知识,希望对你有一定的参考价值。
sql 2000中,我要查询出某个表中的某个字段,但是我不字段这个表名是什么,只字段这个字段名!有办法查询出来吗?
参考技术A 直接的方法肯定是没有的,但是你可以根据字段的字面意思选中一些有可能的表,排除掉一些表,把范围缩小先,再去查。或者说,sql2000中不想Oracle,自己就有表的直观图,很方便就能找到(表不是太多的话,如果表太多,哪工作量肯定大的。) 参考技术B 那只有一个办法 把所有的表查询个遍就可以了,还有 你知道在哪个数据库吗我可以给你做个小工具 发给你 你要是给我100分 我直接给你弄出工具来
或是给你写一个函数 参考技术C 没有办法吧,一个个表试过来,不报错的就有。
如果多个列等于 MySQL 查询中的某个值,我如何返回 true 或 false?
【中文标题】如果多个列等于 MySQL 查询中的某个值,我如何返回 true 或 false?【英文标题】:How do I return true or false if multiple columns equal a certain value in MySQL query? 【发布时间】:2011-04-15 22:37:55 【问题描述】:我有一个单独的数据库表 (MySQL),我在上面运行一个简单的 SELECT。在此表中,我有 3 个字段,每个字段包含 3 个可能的值。在每种情况下,值都是相同的(“无”、“在线”、“物理”)。如果这些字段中的任何一个未设置为“无”,我想在结果中返回别名的真或假值。
返回结果集后,我可以轻松地在 PHP 中对此进行评估,但为了轻松地对结果进行排序,如果可能的话,我宁愿在 SELECT 中生成真/假。所以目前结果行可能如下所示:
id: 1
trial_type_1: none
trial_type_2: online
trial_type_3: none
在这种情况下,我希望查询返回:
id: 1
trial: True
如果所有的 trial_type 字段都设置为 none,那么它将返回 False 的试验值。任何想法都非常感谢,因为我真的不知道从哪里开始,甚至不知道在网上搜索什么! :)
【问题讨论】:
【参考方案1】:我会在其中使用 case 语句,这是一种非常灵活的方法并且非常有用。
select id,
(CASE WHEN trial_type_1 <> 'none' OR trial_type_2 <> 'none'
OR trial_type_3 <> 'none'
THEN 'True' ELSE 'False' END) as trial
FROM q3773072
但是,您也可以将其作为一个简单的逻辑运算来完成 - 这可能更接近您想要的,如下所示:
SELECT id,
(trial_type_1 <> 'none' OR trial_type_2 <> 'none' OR trial_type_3 <> 'none' ) as Trial
from q3773072
正确的方法当然是将多个 trial_types 存储在不同的表中 - 当您开始对字段进行编号时,这是 数据库模式需要更改的线索强>。您还应该设置另一个表来定义试验类型及其定义 - 即它们是否是真正的试验。
我可能会采用后一种方法,因为您很可能会在将来的某个时候添加另一种试用类型,如果您做得不好会很痛苦..
【讨论】:
阿门! “当您开始对字段进行编号时,这表明数据库架构需要更改” Brill,谢谢理查德......在这种情况下,客户有许多产品我需要指示试用访问......目前总共只有 5 个,但是是的,我认为需要一些抽象这里! :)【参考方案2】:这应该可行:
SELECT
id,
NOT (trial_type_1 IS NULL AND trial_type_2 IS NULL AND trial_type_3 IS NULL) AS trial
FROM ...
【讨论】:
假设试用值“none”在数据库中输入为NULL
。【参考方案3】:
你可以使用 CASE:
SELECT ID, CASE WHEN trial_type_1='none' AND trial_type_2='none' AND trial_type_3='none' THEN 'false' ELSE 'true' END
FROM YourTable
【讨论】:
【参考方案4】:这可能有效:
SELECT id,
(trial_type_1 <> 'none'
OR trial_type_2 <> 'none'
OR trial_type_3 <> 'none') AS some_not_none
FROM ...
【讨论】:
【参考方案5】:您可以使用 MySQL IF
statement:
SELECT
id,
IF (
(trial_type_1 != 'none'
OR trial_type_2 != 'none'
OR trial_type_3 != 'none'
), 1, 0
) AS trial
FROM ...
【讨论】:
以上是关于如何查询出一个数据库中的某个表中的某个字段?的主要内容,如果未能解决你的问题,请参考以下文章
sql 当中 如何查询某个字段中的值的第几个字符中含有相应的值
用 NOT EXISTS来查询一个表中的数据,条件是该表中的某个字段不包含另一个子查询中的值