SQL问题,来帮帮忙啊

问题描述

现在有一张表(表A),这张表里有三个主要字段~~~!用户名称项目名称技能ID意思就是,当前用户,在当前项目中所拥有的技能select*from表A(此处为了简便,直接把技能名写了,其实技能只是一个外键,关联另外一张技能表)用户项目技能张三OAjava张三OA.net张三ERPjava李四ERPjava李四ERP.net张三ORMC++王五ORM.net注意:张三在OA项目中拥有JAVA技能,并且在ERP项目中也拥有JAVA技能现在有一个需求就是有一个标签列表,为checkbox。里面包含所有的技能当我勾选了某个或某几个技能然后点查询,要查出和这几个技能相关的人员例如当我勾选了java和.net技能时查询结构如下用户技能张三java,.net李四java,.net王五java此查询应该怎么查??我想破脑袋也想不出呀,跪求各位大侠帮帮忙

解决方案

解决方案二:
select用户,b.技能,c.技能from(select*fromAwhere技能='java',用户in(select用户fromAwhere技能='.net')b)c
解决方案三:
引用1楼lingxiaotian的回复:

select用户,b.技能,c.技能from(select*fromAwhere技能='java',用户in(select用户fromAwhere技能='.net')b)c

问题是跟本不知道别人会勾选几个技能呀,也许只会勾一个,也许全勾
解决方案四:
有点像行转列
解决方案五:
Stringsql="select用户,技能from表Awhere1=1",然后进行选框判断,如果选择了java,sql=sql+"or技能=java",依次判断吧..没想到更好的呵呵
解决方案六:
引用2楼gmclass的回复:

引用1楼lingxiaotian的回复:select用户,b.技能,c.技能from(select*fromAwhere技能='java',用户in(select用户fromAwhere技能='.net')b)c问题是跟本不知道别人会勾选几个技能呀,也许只会勾一个,也许全勾

可以查询很多次呀!再在service层里面处理
解决方案七:
select用户,wm_concat(技能)fromtabletwheret.技能in(java,.net...)andt.用户=用户

oracle10g以上支持

时间: 2024-10-29 13:43:22

SQL问题,来帮帮忙啊的相关文章

SQL Server2008r2 sqlexpress服务无法打开 请各位帮帮忙 谢谢!

问题描述 SQL Server2008r2 sqlexpress服务无法打开 请各位帮帮忙 谢谢! 下面是出错的日志文件 2016-05-15 10:03:21.91 Server Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (Intel X86) Mar 29 2009 10:27:29 Copyright (c) 1988-2008 Microsoft Corporation Express Edition on Windows NT 6.1

查询多对多sql语句写法 悬赏190 请人帮帮忙!! 急啊、、

问题描述 查询多对多sql语句写法 悬赏190 请人帮帮忙!! 急啊.. 一个是众酬表,一个是会员表,还有个这两者的中间表. 会员可以参与多个众酬 众酬可以被多个会员参与 1.会员角度:会员登录,要查询当前所有的众酬列表并且标记哪些众酬当前会员已参与 2.众酬角度:进入某个众酬详情可罗列当前参与此众酬的会员列表 解决方案 这取决于众筹表怎么设计 解决方案二: select *,(select count(1) from 众筹会员表 where id=z.id) as canyu from 众筹表

这个sql语句我真是不会啊帮帮忙各位大哥

问题描述 这个sql语句我真是不会啊帮帮忙各位大哥 比如我现在有两张表一张学生表,一张班级表,他两有关联.我现在想删除学生表.但是不能删除年级表我该怎么写sql语句 解决方案 删表数据吧. 一般来说关联是班级ID是学生的外键,所以直接删除学生表记录没有影响啊. 如果需要根据班级的条件删学生这样写 DELETE FROM 学生表 WHERE 班级ID IN (SELECT ID FROM 班级表 WHERE 名称 = 'abc'); 解决方案二: 如果你有外键,那么需要配置级联删除,如果存在外键,

c#-sql语句删除一条记录有问题,毕业设计帮帮忙,能帮帮我吗?

问题描述 sql语句删除一条记录有问题,毕业设计帮帮忙,能帮帮我吗? enter code here DB db = new DB(); string UserName = this.txtUserName.Text; string PassWord = db.GetMD5(this.txtPwd.Text.ToString());//MD5加密 string Code = this.txtCode.Text; string cmdstr = "insert into tb_User(UserN

sql server-求自动添加不存在日期的方法 求助啊 大神来帮帮忙吧 谢谢了

问题描述 求自动添加不存在日期的方法 求助啊 大神来帮帮忙吧 谢谢了 求自动添加不存在日期的方法 求助啊 大神来帮帮忙吧 谢谢了 select t.number as 小时,ISNULL(tt.real_money,0) as 价格 from (SELECT class_id=DATEPART(hh,convert(varchar(20),db_ls.ls_datetime,20)),real_money=Convert(decimal(18,2),sum(round(db_ls_item.h_

sql查询问题,请大家帮帮忙,谢谢了

问题描述 sql查询问题,请大家帮帮忙,谢谢了 有两列数据,数据结构如下 用户号 类型 a 1 b 1 b 2 c 1 c 2 c 3 d 1 d 2 e 2 e 3 f 3 我想查询类型只是1的用户号,或者类型只是1,2的用户号,或者类型同时为1,2,3的用户号 谢谢大家 解决方案 可以像下面这样,统计一下每个用户不同类型的数量,限定类型数量和类型值来过滤 select * from 表名 a,(select count(distinct *) cnt,用户号 from 表名 group by

图片-My sql服务启动不了,求大神帮帮忙!

问题描述 My sql服务启动不了,求大神帮帮忙! 第一张图片是我按照网上的教程添加的一个文本文件,里头有一些代码. 问题就如第二张图所示,服务无法启动,但是却没有发现任何错误.有谁能帮我吗 解决方案 直接命令行启动服务试试,然后出错后查看一下系统日志中的错误描述信息 解决方案二: 是不是要在最前面要加一行? [mysqld] 解决方案三: 在你的my.ini文件里啊,而且你先启动mysqld没有 ,C:>mysqld-nt.exe --install MySQL-noinstall --def

新生 求大神帮帮忙!

问题描述 新生 求大神帮帮忙! 解决方案 求大神帮帮忙 解决方案二: 先看看你的数据库启动了没 解决方案三: 试试: 打开'程序'-'所有程序'-'Microsoft SQL Server 2012 '-'配置工具'-'SQL Server 配置管理器',在弹出的窗体中,找到'SQL Server 2012 网络配置',把'MSSQLSERVER的协议'下的"Named Pipes"和"TCP/IP"启动,然后重新启动Microsoft SQL Server 201

论坛-rs=stmt.executeQuery 这里是调用的什么啊 ,急死我啦。各路大神,帮帮忙吧

问题描述 rs=stmt.executeQuery 这里是调用的什么啊 ,急死我啦.各路大神,帮帮忙吧 <%@ page language="java" contentType="text/html; charset=gb2312" pageEncoding="gb2312" import="java.sql.*" import="java.util.*"%> <jsp:useBean i