一个表里有多个字段需要同时使用字典表进行关联显示,如何写sql查询语句

参考:https://bbs.csdn.net/topics/330032307

数据库里面有一个字典表,这张表里面有id段和对应的名字字段。
在另外一个记录的表里面有对应的上述字典表的id,而且有多个字段都含有该id字段。需要将其查出来,并且用名字。

SELECT a.id AS ‘编号‘, ‘STORY‘ AS ‘类型‘ , a.title AS ‘标题‘,b.name AS ‘所属项目‘ ,a.project AS ‘所属项目‘ ,
c.realname AS ‘创建者‘,
a.estimate AS ‘计划时间‘,
d.realname AS ‘责任研发‘,
a.resolvedDate AS ‘实际解决时间‘,a.closedDate AS ‘实际关闭时间‘,a.STATUS
FROM zt_story a , zt_project b, zt_user c, zt_user d
WHERE a.project=b.id AND a.openedby=c.account AND a.assignedTo=d.account AND  a.id>=8650 AND a.id<= 8692
ORDER BY a.id

SELECT a.id AS ‘编号‘, ‘BUG‘ AS ‘类型‘ , a.title AS ‘标题‘,b.name AS ‘所属项目‘ ,
c.realname AS ‘创建者‘,
a.estimateDoneDate AS ‘计划时间‘,
d.realname AS ‘责任研发‘,
a.resolvedDate AS ‘实际解决时间‘,a.closedDate AS ‘实际关闭时间‘,a.STATUS
FROM zt_bug a , zt_project b, zt_user c, zt_user d
WHERE a.project=b.id AND a.openedby=c.account AND a.assignedTo=d.account AND  a.id>=28095
ORDER BY a.id

原文地址:https://www.cnblogs.com/mobilecard/p/9195890.html

时间: 2024-11-05 18:29:42

一个表里有多个字段需要同时使用字典表进行关联显示,如何写sql查询语句的相关文章

ThinkPHP 条件是一个表里面的两个字段比较

ThinkPHP 条件是一个表里面的两个字段比较 今天群里有人问,thinkphp框架,条件是一个表里的两个字段,怎么查询. 然后就做了下测试: 比如查询出 手机号就是微信号 的用户: (1)首先,正常的sql语句应该是这样的: SELECT `id`,`name`,`tel`,`weixin` FROM `user` WHERE `tel` = `weixin` 然后在thinkphp框架中测试: (2)当where条件是字符串时,肯定是可以的: M('user')->where('`tel`

使用正则表达式获取Sql查询语句各项(表名、字段、条件、排序)

string text = "select * from [admin] where aa=1 and cc='b' order by aa desc "; Regex reg = null; reg = new Regex(@"\s+from\s+.*?(\s+where\s+|\s+order\s+|\s+group\s+)|\s+from\s+.+", RegexOptions.IgnoreCase); string table = reg.Match(tex

用程序动态控制只有一个或少数几个字段可以改

,-[原创][经验总结]用程序动态控制只有一个或少数几个字段可以改    int ret,j,i;    DictTable           dictTable;    DictField           DictField;    str                 curFieldName;    ;    dictTable = new DictTable(tableNum(yourTableName)); i=dictTable.fieldCnt()-12;//这里系统会包括

VBS获取Ini配置文件一个节点下的所有字段的值

''* 功能:使用VBS读取ini文件中指定节点下的所有值'* 输入参数:inipath :ini文件的地址'*           initypes :ini文件中包含在"["和"]"之间的值'* 返回值:找到的字段的值组成的array'* 编写人:  chenyb'* 编写日期:2008-12-26'* 其他说明:以下只是方法,具体问题具体修改'Function vbsGetIniFields(inipath,initypes) Const ForReading

[SQL]查询某一个字段在某一段时期数据库中使用到的记录

有些时候我们常常须要哪里用到了一些表,又或者什么时候运行了某一个存储过程.整理出了在某段时期内数据库运行的sql查询.也能够查询到数据库中某些字段的存放处.非常好非常强大.希望能帮到大家~ SELECT TOP 1000 --创建时间 QS.creation_time, --查询语句 SUBSTRING(ST.text,(QS.statement_start_offset/2)+1, ((CASE QS.statement_end_offset WHEN -1 THEN DATALENGTH(s

oracle 实现多字段匹配一个关键字查询语句

oracle 实现多字段匹配一个关键字查询语句:有两种方法(经测试,10g中不能用,11g才行): 第一种. select * from table where ('字段名1' ||'字段名2' ||...) like "%keyValue%"; 第二种:(1)如果是两个字段的话:select * from table where concat(字段名1,字段名2) like "%keyValue%";(2)如果是多个字段的话:select * from table

db2递归一个以分隔符隔开的字段

项目很多业务表中存储的信息都是以逗号分隔的业务数据,在统计.转码的时候很是不便,使用 with X('','') as values('','') 对结果方便递归操作.db2一个字段由多个数据以逗号分隔,分隔的数据为字典表的code,现在要通过sql将该字段直接转换为字典code对应的name,参考下图: 图1转成图二  图一  图二 WITH n ( str, ori, pos, USER ) AS ( VALUES ( concat('1,2',','), 1, posstr(concat(

mysql自增字段重排 mysql删除表后自增字段从1开始

MyISAM数据表 删除最大编号的记录后,该编号不可重用. 可在建表时可用"AUTO_INCREMENT=n"选项来指定一个自增的初始值. 可用alter table table_name AUTO_INCREMENT=n命令来重设自增的起始值. 其他: 由于删除了某些记录行,所以自增字段不连续了 1,3,4,5,7,10这样子 ------------------------- truncate命令是会把自增的字段还原为从1开始的,或者你试试把table_a清空,然后取消自增,保存,

关于用Hibernate执行sql查询,字符字段类型只返回第一个字节的问题

关于用Hibernate执行sql查询,字符字段类型只返回第一个字节的问题 今天遇到了一个问题,就是在Hibernate中,我用sql去查询mysql数据库里面的user表里面的username字段,但是发现查出来的数据都是只有第一个字,例如:在user表里面的username字段中有一条数据是:"Chen chiwei",查询后返回的结果却是这条数据的第一个字母:"C":于是乎,我查了一下user这张表的设计,发现username这个字段的类型是'char'类型,