MYSQL中多对多关系的数据查询处理,请大神指点

问题描述

MYSQL中多对多关系的数据查询处理,请大神指点

用户表
create table user(
uid int primary key auto_increment,
uname varchar(30),
uaddress varchar(15))
订单表
create table orders(
oid int primary key auto_increment,
uid int not null,
address varchar(70));
商品表
create table product(
pid int primary key auto_increment,
pname varchar(20) not null,
pcount int not null,
price float not null)
中间表
create table op(
opid int primary key auto_increment,
oid int ,
pid int ,
opcount int not null,
opdelete set('n','y')
,constraint fk_oid foreign key (oid) references orders(oid) on update cascade
,constraint fk_pid foreign key (pid) references product(pid) on update cascade
);
我使用的是hibernate中HQL多表查询
select o.oid, p.pname, op.opcount, p.pid from Orders as o, OP as op, Product as p, User as u where o.uid=u.uid and op.oid=o.oid and op.pid=p.pid and u.uid=001;
关系是user表跟orders表是一对多,orders表跟product表是多对多。
我数据库中user uid=001,oid=1000,它对应的pid有多个1000001,1000002,1000003
我现在做出来的查询结果是
每一次for循环,oid记录只输出一个pid的数据;我现在有3个pid,需要循环3次才可以输出来。
但是我实际需要的效果是 同一个oid一条记录就可以将它所对应的所有商品都遍历出来。

时间: 2024-12-31 01:41:28

MYSQL中多对多关系的数据查询处理,请大神指点的相关文章

工具-如何实现这样一个数据列表,请大神帮帮忙

问题描述 如何实现这样一个数据列表,请大神帮帮忙 各位大神,小弟最近需要弄个数据列表,具体需求是从数据库中查询数据生成表格,这个数据时一行一行的.表格生成之后需要按照某一列的单元格内容进行分组,分组之后的数据可以折叠展开以方便查看(类似excel中行组合). 取数我还勉强能弄,但是前端分组+折叠/展开的功能实在是不会弄(原谅我是个小白,弄不出来就要失业了).请问有什么好的思路或者是现成的工具可以实现这个需求? 解决方案 什么语言什么平台没有说,假设你要的是web的http://download.

sql server-跨数据库同步数据的问题 求大神指点

问题描述 跨数据库同步数据的问题 求大神指点 我有两台服务器 一台是以sql身份验证用户名密码登陆的 内有两个在持续写入新数据的表1和2 两个表同时写入 具有相同的格式为datetime2(7)的列为主键 没有id列 另一台服务器是以windows身份验证登陆的 有一个表3 现在想要把表1的A B C三列的值.表2的D E两列的值同时分别插入到表3的b d f和c e列当中并且之后连续的将表1表2新增的数据插入 应该如何实现 解决方案 写两套连接 创建两个sqlsession 然后对两个不同库进

android 中导入数据库,代码一处错误。请大神帮我看看

问题描述 android 中导入数据库,代码一处错误.请大神帮我看看 解决方案 首先你要确定这个cothinkganbu这个文件在哪儿呢,如果你放在了assets里面那就不是这样调用获取资源了,红线处说明的是找不到这个资源,所以你检查一下看是什么情况. 解决方案二: 清理一下工程看看.... 解决方案三: 请大神帮我看看这段代码

zoj中的一道题目,编译错误,求大神指点?

问题描述 zoj中的一道题目,编译错误,求大神指点? 解决方案 1. vector(int) a(2 * n_case); ----> vector<int> a(2 * n_case); //n_case建议初始化一下 2.cout << output(n_case); //不知道楼主想输出什么?这个output函数是void的 解决方案二: vector(int)换成尖括号.后面有关a的错误都是因为这个造成的. 解决方案三: 是因为你的vector没用对, 楼上正解

C#窗体中可不可以嵌入KMPlayer播放器呢?请大神给个教程!!!

问题描述 C#窗体中可不可以嵌入KMPlayer播放器呢?请大神给个教程!!! 解决方案 解决方案二:引用他的组建...解决方案三:可以,我嵌过不过没说明,我还是用的mediaplayer解决方案四: 解决方案五:引用组件后,代码怎么写???

select-年龄段查询,请大神帮忙看看怎么改

问题描述 年龄段查询,请大神帮忙看看怎么改 SELECT COUNT(*) renshu CASE WHEN AGE <= 10 THEN '1' WHEN AGE > 10 AND AGE <= 20 THEN '2' WHEN AGE > 20 AND AGE <= 30 THEN '3' WHEN AGE > 30 AND AGE <= 40 THEN '4' WHEN AGE > 40 AND AGE <= 50 THEN '5' WHEN A

java中输出一个日期排序,输出格式怎么变成Date@2c905b34类似的了。。请大神指点

问题描述 java中输出一个日期排序,输出格式怎么变成Date@2c905b34类似的了..请大神指点 java中输出一个日期排序,输出格式怎么变成Date@2c905b34. Date@3953c9c7类似的格式了..请大神指点 : Date[] days = new Date[5]; days[0] = new Date(2012123); days[1] = new Date(201515); days[2] = new Date(2008123); days[3] = new Date(

eclipse导入-Java小白,eclipse中导入图形界面包就会出错,程序没有问题,请大神指点。

问题描述 Java小白,eclipse中导入图形界面包就会出错,程序没有问题,请大神指点. Description Resource Path Location Type Access restriction: The type JOptionPane is not accessible due to restriction on required library C:Program FilesJavajre1.8.0_20librt.jar dialog.java /myjava3/src l

java-我在E盘中建立一个JAVA源代码文件,在cmd中编译代码却是图片中的样子,请大神指点。

问题描述 我在E盘中建立一个JAVA源代码文件,在cmd中编译代码却是图片中的样子,请大神指点. 我在cmd中键入命令"java -version","java","javac"几个命令,都能出现画面,说明环境变量应该配置成功了吧,但我在E盘中建立一个JAVA源代码文件,在cmd却是图片中的样子,请大神指点. 解决方案 首先你得检查你的电脑设置,是不是把文件扩展名隐藏了.如果隐藏了的话,你的文件名是Test.java其实你真正的文件是Test.j