jsp页面关于数据库多对多查询的sql语句应该怎么写?

我是用的mysql数据库

这是一张用户表

图片说明

这是项目表

图片说明

现在我想根据用户表里的“DetectID”对应项目表里的“id”进行关联查询其项目名称,“DetectID”里有几个数据,就查出项目表里的几个名称。这条SQL语句该怎么写,我老是查询到第一条数据就结束了。

11个回答

with 项目表( id,itemname)                                                
as(      
select 1 ,'AIS'  union all    
select 2 ,'雷达应答器' union all       
select 3 ,'示位标'  union all 
select 4 ,'短波通信' union all 
select 6 ,'电子标签'                
),
 
 用户表( UserName  , DetectID)
 as
 (
select 'senya','0' union all
select 'tan','1,2'  union all
select 'wen','4,6'
)
 
select b.UserName  ,
       stuff((select ','+a.itemname 
              from 项目表 a 
              where ','+ b.UserName +',' like '%,'+cast(a.id as varchar(10))+',%' for xml path('') ),1,1,'') as UserName
from 用户表 b

共11条数据 首页 2
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
jsp页面直接输入sql语句查询数据

想做一个简单的运维工具,在jsp页面上输入查询数据,直接查询数据库,把结果展示在页面上,最好能做成显示中文列名的那种,有没有这种方案或者建议

jsp页面查询数据库的问题

同样的sql语句在数据库里和jsp页面上的查询结果为什么不一样呢 这是jsp页面 ``` String sql = "select ItemName from DetectItem where id in (1,2)"; ResultSet rs = stmt.executeQuery(sql); List<DetectItem> list = new ArrayList<DetectItem>(); if(rs.next()){ DetectItem dt = new DetectItem(); dt.setItemName(rs.getString("ItemName")); list.add(dt); request.setAttribute("list",list); }else{ out.print("未能查询到数据!"); } rs.close(); stmt.close(); conn.close(); }catch(ClassNotFoundException e){ e.printStackTrace(); }catch(SQLException e){ e.printStackTrace(); } List<DetectItem> list = (List<DetectItem>)request.getAttribute("list"); if(list == null || list.size() < 1){ out.print("没有数据!"); }else{ for(DetectItem dt : list){ out.print("ItemName:"+dt.getItemName()); } } %> ``` 这是运行结果 ![图片说明](https://img-ask.csdn.net/upload/201805/26/1527327003_772635.png) 这是数据库的结果 ![图片说明](https://img-ask.csdn.net/upload/201805/26/1527327052_24649.png) 是我的jsp页面代码哪需要修改吗?求详解,谢谢

数据库模糊查询sql语句问题

为什么模糊查询的sql语句中有select * from 表名 where 1=1?,这是什么意思

jsp页面向mysql数据库更新数据是sql语句没错 出现异常更失败

插入信息的时候没问题 但是修改的时候异常报的是什么意思![图片说明](https://img-ask.csdn.net/upload/201712/03/1512284407_630440.png)

在java类中写带中文的sql语句,查询结果为空

String query="select * from Restaurant where Restaurant_name='紅樹林';"; rs=stm.executeQuery(query); 这是我在封装好的数据库类中写的sql语句,查询结果为空(rs.next() 为false ) 如果改用id查询,即: String query="select * from Restaurant where Restaurant_id='1';"; 就能查询到结果 如果在mysql的workbench中输入这条命令: select * from Restaurant where Restaurant_name='紅樹林'; 也能查询到结果 从页面接受参数到servlet再到数据库类我都查看过了,restaurant_name,都是没有乱码的。所以我之间就在那条sql语句中打入搜索的餐厅名,结果还是查询不出结果。 请问要怎么办呢!

怎样实现jsp操作数据库 实现对数据库的动态查询

怎样实现 jsp 操作数据库 实现对数据库的动态查询 ,由于后台数据库是动态更新,每隔一段时间数据库数据就会更新一次,想把数据库的最新内容展现在客户端,怎么样实现java代码 或是js代码对数据库的动态查询,我想弄一个定时器,但是没点思路。。。。

jsp动态SQL语句的写法

如果现在想按id查找用户,我的sql语句为where id=?. 那么如何实现按任意列查找用户呢?就是我传进来列名和id值.sql语句如何写?

sql语句:同一张表,多条件查询的语句怎么写

请问用sql 语句 如何查出6月之前 有,且6月以后无的ID号 。谢谢! 有个出勤表名为table ID month report 1 2月 有 1 7月 无 2 4月 无 2 9月 有 3 3月 有 3 10月 有 4 1月 无 4 8月 无 5 5月 有 5 10月 无

用jsp删除数据库数据时数据库无返回。但是如果SQL语句直接写出变量,返回删除成功了。

<body> <% response.setContentType("text/html"); request.setCharacterEncoding("GBK"); response.setCharacterEncoding("GBK"); String name = new String(request.getParameter("name").getBytes("ISO-8859-1"),"GBK"); out.print(name); String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加载JDBC驱动 String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=化妆品管理系统"; //连接服务器和数据库sample String userName = "sa"; //默认用户名 String userPwd = "123456"; //密码 Connection conn; Class.forName(driverName); conn = DriverManager.getConnection(dbURL, userName, userPwd); Statement stat = conn.createStatement(); String sql = "DELETE FROM customers WHERE customername ='郭海涛'"; int i = stat.executeUpdate(sql); out.println(i); %> ** "DELETE FROM customers WHERE customername ='郭海涛'";** 这样就可以删除成功。 ** "DELETE FROM customers WHERE customername ='name'";** 这样就删除不了。 但是打印出来name的值就是‘郭海涛’,没有乱码。

jsp执行sql查询并取出结果 怎么实现循环遍历?求例子 初学

如题 sql表中有很多很多数据,想要查询并用表格的形式来显示出结果 已经连接上了数据库,可以执行查询语句,就是不知道该用什么方式把整个语句查询语句结果传递到显示结果的页面并且以表格的形式展现出来 String all="select sum(iNumb) as iNumbHj,sum (rMoney) as rMoneyHj from [Data_ShopDailyBill_View] group by sShopCode"; Statement stmt1 = conn.createStatement(); ResultSet c = stmt1.executeQuery(all); 就像上面的语句 怎么把执行查询语句得出来的这样一个数据 传到另一个显示界面中 并且用表格展现出来 我之前想用session一条一条传 发现根本不可能 数据很多条 求大神解答!!!急

如何从jsp页面向mysql按条件更新数据

代码如下 ``` <% String ID = new String(request.getParameter("dId").getBytes("ISO8859_1"),"UTF-8"); String AIS = new String(request.getParameter("AIS").getBytes("ISO8859_1"),"UTF-8"); try{ Class.forName("com.mysql.jdbc.Driver"); String url = "XXXXXXXXX"; String username = "XXXXXXX"; String password = "XXXXXXX"; Connection conn = DriverManager.getConnection(url,username,password); String isExist = "select * from newshipinfo where newshipinfo.AIS = '"+AIS+"'"; PreparedStatement pstmt = conn.prepareStatement(isExist); ResultSet rs = pstmt.executeQuery(); if(rs.next()){ out.print("该数据已存在,请不要重复添加!"); }else{ String sql = "insert into newshipinfo(AIS) values (?) where ID = '"+ID+"'"; PreparedStatement ps = conn.prepareStatement(sql); ps.setString(1,AIS); int row = ps.executeUpdate(); if(row >0){ out.print("数据添加成功"); } ps.close(); conn.close(); } }catch(Exception e){ out.print("数据添加失败!"); e.printStackTrace(); } %> ``` 这个页面的目的是将前一个页面所提交的数据(ID号与AIS的值)填写到数据库里进行数据更新,数据库里AIS的初始值均为0,现在把页面的值传进去变成1或者2。传之前会判断数据库里AIS的值是不是1或者2,若是则提示不要重复输入。 现在值可以传到这个页面没有问题,就是无法传入数据库,老是报这个错 ``` You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where ID = '12259'' at line 1 ``` 是sql语句的错误吗,想请教下怎么修改代码。

jsp中在页面上填写的表单信息,怎么保存到SQL数据库

我写了一个填写表单的界面,提交后,另一个页面的表格可以获取到相应的数据。但是,我不知道该怎么把 数据保存到数据库中。用了 String sql1 = "insert into LeaveList(country,profession,classes,studentId,name,contact,startdate,enddate,teacher) values ('"+country+"','"+profession+"','"+classes+"','"+id+"','"+name+"','"+contact+"','"+startdate+"','"+enddate+"','"+teacher+"')";并没有效果呀。应该怎么弄呢?或者各路大神,可以为我举个表单保存数据到数据库的例子吗?谢谢啦

为什么jsp提交表单以后,sql语句就取不到数据了?sql语句看起来是一样的

![如果注释掉这个从页面上输入2就取不到数据库里的数据,如果从代码里面直接给赋值就可以取到](https://img-ask.csdn.net/upload/201609/30/1475198260_115091.png)![这是后台输出的,第一次是从页面输入的,第二次是从代码里面赋值的,sql语句一模一样](https://img-ask.csdn.net/upload/201609/30/1475198505_324047.png) 我想从页面输入一个值,然后搜索所有含这个值的数据,结果老是出这个错

Sql语句,当在页面插入一个字段的时候,和数据库中的表字段进行对比,有这个名字就数量相加

Sql语句,当在页面插入一个字段的时候,和数据库中的表字段进行对比,有这个名字就数量相加,没有的话重新加入一条新的记录,Sql语句怎么实现? 当我页面添加的是“利群”时,添加一盒,那么数据库中利群这条记录中的num字段中的4变成5,如果是页面添加的是“黄鹤楼”同理,如果添加的不是name字段中的这两个,就新插入一条数据。Sql语句怎么写??急急急。 是Mysql的数据库![图片说明](https://img-ask.csdn.net/upload/201501/21/1421807496_813407.png) public static void selectName(Kcgl kcgl){ ConnectionPool pool = ConnectionPool.getInstance(); Connection connection = pool.getConnection();//链接到数据源 PreparedStatement ps=null; ResultSet rs=null; //Kcgl kcgls = new Kcgl(); String seq = " select goods_stock_id,name,num from goods_stock where name = ? "; try { ps = connection.prepareStatement(seq); ps.setString(1, kcgl.getName());//第一个参数是设置参数的序数位置,第二个参数是设置给参数的值 System.out.println(ps+"+ffffffff"); rs=ps.executeQuery();//返回不为空的结果集 //System.out.println(rs+"mmmmmmmmm"); if(rs==null){ //String seqq = "update goods_stock set num=? where goods_stock_id = ?"; System.out.println(rs.getString("name")+"+pppppppppppp"); String seqq = "INSERT INTO goods_stock (name, spec, num, goods_type_id) VALUES (?, ?, ?, ?)"; ps = connection.prepareStatement(seqq); ps.setString(1, kcgl.getName()); ps.setString(2, kcgl.getSpec()); ps.setInt(3, kcgl.getNum()); ps.setString(4, kcgl.getGoods_type_id()); // 执行更新操作 ps.executeUpdate(); } else{ while(rs.next()) {//取得结果集,一定要用while,循环输出 System.out.println("555555555555"); int num2 = Integer.valueOf(kcgl.getNum())+Integer.valueOf(rs.getInt("num")); String seq3 = "update goods_stock set num=? where goods_stock_id = ?"; ps = connection.prepareStatement(seq3); ps.setInt(1, kcgl.getNum()); ps.setString(2, kcgl.getGoods_stock_id()); ps.executeUpdate(); } } } catch(SQLException e) { e.printStackTrace(); //return null; } finally { DBUtil.closeResultSet(rs); DBUtil.closePreparedStatement(ps); pool.freeConnection(connection); } } 这个是我的那个JDBC的方法,应该怎么改啊,

jsp页面中无法显示数据库的表内容,求大神解答。

java文件 package xscj_bean; import java.sql.*; public class SQLServerConnBean { private Statement stmt = null; private Connection conn = null; ResultSet rs = null; //构造函数 public SQLServerConnBean () { } public void OpenConn( ) throws Exception { try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); String url = "jdbc:sqlserver://localhost:1433;databaseName=classcircle"; String user = "sa"; String password = "123456789123456"; conn = DriverManager.getConnection( url, user, password ); } catch(SQLException e) { System.err.println("Data.executeQuery: " + e.getMessage()); } } //执行查询类的SQL语句,有返回集 public ResultSet executeQuery(String sql) { rs = null; try { stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE ,ResultSet.CONCUR_UPDATABLE); rs = stmt.executeQuery(sql); } catch(SQLException e) { System.err.println("Data.executeQuery: " + e.getMessage()); } return rs; } //关闭对象 public void closeStmt() { try { stmt.close(); } catch(SQLException e) { System.err.println("Date.executeQuery: " + e.getMessage()); } } public void closeConn() { try { conn.close(); } catch(SQLException e) { System.err.println("Data.executeQuery: " + e.getMessage()); } } } ``` jsp文件 <%@ page contentType="text/html; charset=utf-8"%> <%@ page language="java" import="java.sql.*"%> <jsp:useBean id="SqlBean" scope="page" class="xscj_bean.SQLServerConnBean" /> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <title>JDBC连接SQL Server数据库</title> <style type="text/css"> <!-- .style1{ color:#ff0000; font-size:24px; } --> </style> </head> <body> <div align="center"> <span class="style1">JDBC连接SQL Server数据库</span><br><hr><br> </div> <table border="2" bordercolor="#ffcccc" align="center"> <tr bgcolor="cccccc" align="center"> <td>学号</td> <td>姓名</td> <td>专业</td> <td>总学分</td> </tr> <% //查询XSB表中XH,XM,ZY和ZXF字段的前10条记录 String sql="select top 10* From student"; SqlBean.OpenConn( ); //调用SqlBean中加载JDBC驱动的成员函数 ResultSet rs=SqlBean.executeQuery(sql); //取得结果集 while( rs.next( ) ) { %> <tr> <td><%=rs.getString("username")%></td> <td><%=rs.getInt("password")%></td> <td><%=rs.getInt("schoolnumber")%></td> <td><%=rs.getInt("ZXF")%></td> </tr> <% } %> <% out.print("数据库操作成功,恭喜你!"); rs.close(); SqlBean.closeStmt(); SqlBean.closeConn(); %> </table> </body> </html> ``` 结果却是这样的 ![图片说明](https://img-ask.csdn.net/upload/201704/24/1493024444_355993.png) 小白求助啊!!!!

数据库中的内容显示在jsp页面上,要能按照一定的条件进行筛选

数据库中的内容显示在jsp页面上,要能按照一定的条件进行筛选

JSP查询SQL时候发生Exception:“该语句没有返回结果集”怎么解决

我在查询SQL时候发生了一个Exception——“com.microsoft.sqlserver.jdbc.SQLServerException: 该语句没有返回结果集。” 代码片段如下: [code="java"] String strQuery = "Create Table testTable ( [Number] varchar(MAX) , [Values] varchar(255) );"; Statement stsm = conn.createStatement(); [b]stsm.executeQuery(strQuery);[/b] //Tomcat提示出错在这里 [/code] 这个究竟是怎么回事??? 为何一个Statement的executeQuery会有这样的出错提示???

ssm中,sql语句如下,怎样写接口,接口实现,controller,jsp

select SUM(enterprise_total),SUM(enterprise_personnelnumber),SUM(enterprise_taxe),SUM(enterprise_researchexperiment), SUM(enterprise_universitytechnology),SUM(enterprise_employment),SUM(enterprise_internship),sum(enterprise_patent)from tb_inenterprise 表格如下:求和的是列项 ![图片说明](https://img-ask.csdn.net/upload/201712/07/1512629073_499886.png)

jsp和mysql想实现数据库查询输出,但sql语言好像不对

sql=“select * from shiwu where name='“name”'”; name是字符型,数据库中是要查汉字,类型是utf-8,jsp中取输入的name 属性,我out.print(name)之后, 可以输出汉字,但一到rs.excuteQuery();就出错,不能往下执行,rs.next()也老出错,不知道什么原因, 是因为汉字编码设置不对吗?

YOLOv3目标检测实战:训练自己的数据集

YOLOv3目标检测实战:训练自己的数据集

150讲轻松搞定Python网络爬虫

150讲轻松搞定Python网络爬虫

实用主义学Python(小白也容易上手的Python实用案例)

实用主义学Python(小白也容易上手的Python实用案例)

我说我不会算法,阿里把我挂了。

不说了,字节跳动也反手把我挂了。

立方体线框模型透视投影 (计算机图形学实验)

计算机图形学实验 立方体线框模型透视投影 的可执行文件,亲测可运行,若需报告可以联系我,期待和各位交流

2019 AI开发者大会

2019 AI开发者大会

组成原理课程设计(实现机器数的真值还原等功能)

实现机器数的真值还原(定点小数)、定点小数的单符号位补码加减运算、定点小数的补码乘法运算和浮点数的加减运算。

C/C++跨平台研发从基础到高阶实战系列套餐

一 专题从基础的C语言核心到c++ 和stl完成基础强化; 二 再到数据结构,设计模式完成专业计算机技能强化; 三 通过跨平台网络编程,linux编程,qt界面编程,mfc编程,windows编程,c++与lua联合编程来完成应用强化 四 最后通过基于ffmpeg的音视频播放器,直播推流,屏幕录像,

MFC一站式终极全套课程包

该套餐共包含从C小白到C++到MFC的全部课程,整套学下来绝对成为一名C++大牛!!!

软件测试2小时入门

软件测试2小时入门

三个项目玩转深度学习(附1G源码)

三个项目玩转深度学习(附1G源码)

计算机图形学-球的光照模型课程设计

计算机图形学-球的光照模型,有代码完美运行,有课程设计书

Linux常用命令大全(非常全!!!)

Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。我将我了解到的命令列举一下,仅供大家参考: 系统信息 arch 显示机器的处理器架构 uname -m 显示机器的处理器架构 uname -r 显示正在使用的内核版本 d...

因为看了这些书,我大二就拿了华为Offer

四年了,四年,你知道大学这四年我怎么过的么?

深度学习原理+项目实战+算法详解+主流框架(套餐)

深度学习系列课程从深度学习基础知识点开始讲解一步步进入神经网络的世界再到卷积和递归神经网络,详解各大经典网络架构。实战部分选择当下最火爆深度学习框架PyTorch与Tensorflow/Keras,全程实战演示框架核心使用与建模方法。项目实战部分选择计算机视觉与自然语言处理领域经典项目,从零开始详解算法原理,debug模式逐行代码解读。适合准备就业和转行的同学们加入学习! 建议按照下列课程顺序来进行学习 (1)掌握深度学习必备经典网络架构 (2)深度框架实战方法 (3)计算机视觉与自然语言处理项目实战。(按照课程排列顺序即可)

fakeLocation13.5.1.zip

fakeLocation13.5.1 虚拟定位 ios13.5.1的最新驱动下载,iPhone/iPad免越狱虚拟定位工具Location-cleaned驱动已更新

UnityLicence

UnityLicence

Python可以这样学(第一季:Python内功修炼)

Python可以这样学(第一季:Python内功修炼)

Python+OpenCV计算机视觉

Python+OpenCV计算机视觉

土豆浏览器

土豆浏览器可以用来看各种搞笑、电影、电视剧视频

【数据结构与算法综合实验】欢乐连连看(C++ & MFC)案例

这是武汉理工大学计算机学院数据结构与算法综合实验课程的第三次项目:欢乐连连看(C++ & MFC)迭代开发代码。运行环境:VS2017。已经实现功能:开始游戏、消子、判断胜负、提示、重排、计时、帮助。

php+mysql学生成绩管理系统

学生成绩管理系统,分三个模块:学生,教师和管理员。 管理员模块:负责学生、老师信息的增删改;发布课程信息的增删改,以便让学生选课;审核老师提交的学生成绩并且打印成绩存档;按照课号查询每个课号的学生成绩

多功能数字钟.zip

利用数字电子计数知识设计并制作的数字电子钟(含multisim仿真),该数字钟具有显示星期、24小时制时间、闹铃、整点报时、时间校准功能

推荐24个国外黄色网站欣赏

在中国清朝,明黄色的衣服只有皇子才有资格穿,慢慢的黄色在中国就成了高贵的颜色。在人们的色彩印象中,黄色也表现为暂停。所以当你的网页设计采用黄色的时候,会让人们在你的网页前停留。 黄色,就像橙色和红色,黄色也是一个暖色。它有大自然、阳光、春天的涵义,而且通常被认为是一个快乐和有希望的色彩。黄色是所有色相中最能发光的颜色,给人轻快,透明,辉煌,充满希望的色彩印象。 黄色是一个高可见的色...

u-boot-2015.07.tar.bz2

uboot-2015-07最新代码,喜欢的朋友请拿去

一学即懂的计算机视觉(第一季)

一学即懂的计算机视觉(第一季)

学生成绩管理系统(PHP + MYSQL)

做的是数据库课程设计,使用的php + MySQL,本来是黄金搭配也就没啥说的,推荐使用wamp服务器,里面有详细的使用说明,带有界面的啊!呵呵 不行的话,可以给我留言!

Windows版YOLOv4目标检测实战:训练自己的数据集

Windows版YOLOv4目标检测实战:训练自己的数据集

C++语言基础视频教程

C++语言基础视频教程

玩转Python-Python3基础入门

玩转Python-Python3基础入门

相关热词 c#怎么获得线程名 c# usb 采集器 c# sort() c#面对对象的三大特性 c# 打印 等比缩放 c#弹出右键菜单 c# 系统托盘图标 c# 键值对 键可以重复 c# 鼠标移上去提示 c#结构体定义
立即提问