Mysql查询三张表中指定列的数据~在线等。。
时间:2011-11-18
来源:互联网
我们用的mysql 现在要查询三张表 返回三张表里面的指定的几列 然后把数据在页面上显示出来
接着在页面用其他搜索条件查询的时候 再在取出来的数据基础上再进行筛选
求查询三张表中指定几列的SQL语句
作者: zthsn 发布时间: 2011-11-18
表B的 USER_ID,STARTIME,STOPTIME,
表C的 CHANNEL_PAY
表D的 COMPANY
其中表A的COMPANY_ID=表B的COMPANY_ID=表C的 COMPANY_ID=表D的UID
SELECT
A.ID,
A.NUMBER,
A.PRICE,
A.ORDER_TIME,
B.USER_ID,
B.STARTIME,
B.STOPTIME,
C.CHANNEL_PAY,
D.COMPANY
FROM
D表 D
LEFT JOIN A表 A ON A.COMPANY_ID = D.UID
LEFT JOIN B表 B ON B.COMPANY_ID = D.UID
LEFT JOIN C表 C ON C.COMPANY_ID = D.UID
有条件的再加行:
WHERE ..........
排序(如A表的ID由大到小排):
ORDER BY A.ID DESC
作者: taomanman 发布时间: 2011-11-18
表A的 ID,NUMBER,PRICE,ORDER_TIME,STATUS
表B的 USER_ID,STARTIME,STOPTIME,
表C的 CHANNEL_PAY
表D的 COMPANY
其中表A的COMPANY_ID=表B的COMPANY_ID=表C的 COMPANY_ID=表D的UID
SELECT
A.ID,
A.NUMBER,
A.PRICE,
A.ORDER_……
其中表A的COMPANY_ID=表B的COMPANY_ID=表C的 COMPANY_ID=表D的UID
这句话什么意思啊?求解
本人菜鸟一只。。。。
作者: zthsn 发布时间: 2011-11-18
从三张表中取出我需要的几列的所有数据,
作者: zthsn 发布时间: 2011-11-18
5-10条记录即可
作者: WWWWA 发布时间: 2011-11-18
作者: jiaweiqq123 发布时间: 2011-11-18
我那个三张表是没有关联的啊
从三张表中取出我需要的几列的所有数据,
没有关联的话,只有取笛卡尔积了
select a.f1,b.f2,c.f3 from a,b,c where ....
作者: WWWWA 发布时间: 2011-11-18
我那个三张表是没有关联的啊
从三张表中取出我需要的几列的所有数据,
你还是把你的那几张表结构,放上来吧,你要显示哪几个也写出来。
作者: taomanman 发布时间: 2011-11-18
table2.col11,table2.col22,
table3.col31,table1.col23
from table1 ,table2,table3
where table1.id=table2.id and table2.id2=table3.id2
and ...
作者: ACMAIN_CHM 发布时间: 2011-11-18
引用 3 楼 zthsn 的回复:
我那个三张表是没有关联的啊
从三张表中取出我需要的几列的所有数据,
你还是把你的那几张表结构,放上来吧,你要显示哪几个也写出来。
就任意三张没有关联的表
作者: zthsn 发布时间: 2011-11-18
引用 7 楼 taomanman 的回复:
引用 3 楼 zthsn 的回复:
我那个三张表是没有关联的啊
从三张表中取出我需要的几列的所有数据,
你还是把你的那几张表结构,放上来吧,你要显示哪几个也写出来。
就任意三张没有关联的表
没有关联的话,只有取笛卡尔积了
select a.f1,b.f2,c.f3 from a,b,c where ....
作者: WWWWA 发布时间: 2011-11-18
select table1.col1,table1.col2,
table2.col11,table2.col22,
table3.col31,table1.col23
from table1 ,table2,table3
where table1.id=table2.id and table2.id2=table3.id2
and ...
以后再这个结果集的基础上再进行筛选的话 索引怎么加呢??
作者: zthsn 发布时间: 2011-11-18
引用 8 楼 acmain_chm 的回复:
select table1.col1,table1.col2,
table2.col11,table2.col22,
table3.col31,table1.col23
from table1 ,table2,table3
where table1.id=table2.id and table2.id2=table3.id2
and ...……
索引要根据相应的SQL语句来增删,一般是在连接字段、WHERE 字段上建立索引
作者: WWWWA 发布时间: 2011-11-18
引用 11 楼 zthsn 的回复:
引用 8 楼 acmain_chm 的回复:
select table1.col1,table1.col2,
table2.col11,table2.col22,
table3.col31,table1.col23
from table1 ,table2,table3
where table1.id=table2.id and table2.id2……
后面的where是任意六个条件的组合
作者: zthsn 发布时间: 2011-11-18
贴建表及插入记录的SQL,及要求结果出来看看
5-10条记录即可
后面的where是任意六个条件的组合:相应条件中用到的字段分别建立索引 OR 建立复合索引
作者: WWWWA 发布时间: 2011-11-18
索引只能加在表上,不能加在结果集上。
要根据你表中的数据情况和你实际的查询语句来决定加哪些索引,怎么加。
作者: ACMAIN_CHM 发布时间: 2011-11-18
什么样的六个条件? 如果是三个表中的各两个字段。 则考虑创建
create index x11 on table1 (id,col1);
create index x12 on table1 (id,col2);
create index x21 on table2 (id,col1);
create index x22 on table2 (id,col2);
create index x31 on table3 (id,col1);
create index x32 on table3 (id,col2);
作者: ACMAIN_CHM 发布时间: 2011-11-18
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28