作者WebGhost (WebGhost)
看板Database
标题Re: [SQL ] 请问mysql计算搜寻笔数(count函数)?
时间Wed May 30 08:12:23 2007
※ 引述《WebGhost (WebGhost)》之铭言:
: 标题: [SQL ] 请问mysql计算搜寻笔数(count函数)?
: 时间: Tue May 29 22:01:58 2007
:
说明一下我的需求好了
我有3个table:i_table, p_table, c_table
最主要的是i_table,包含所有我要显示到网页上的资讯
而i_table里面有p_id,用来带出p_table里面的栏位值"name"
同样i_table还有c_id,用来带出c_table里面的栏位值"name"
所以第一行的叙述就写明了:
SELECT I.*, P.name, C.name FROM
我的条件很简单,找出i_table里面「类别」栏位值=2
原本的叙述写得不对,应该改成:
SELECT * FROM i_table WHERE i_catelog = 2
接下来就是用id去找相对应的name
LEFT OUTER JOIN p_table as P ON I.p_id = P.id
LEFT OUTER JOIN c_table as C ON I.c_id = C.id
用LEFT OUTER JOIN是因为不管i_table有没有得到相对应的name栏位值,
只要符合i_catelog=2都要把资料带出来
(以上,如果有更好的写法请不吝赐教 ^_^)
现在的问题就是我把计算资料笔数的叙述加进去变成:
SELECT COUNT(*) FROM
(
原本的SQL
)
就出现错误讯息:
#1248 - Every derived table must have its own alias
如果是跟table的alias有关?请问该怎麽改才对呢?
谢谢!
:
: 请问先进
: 我有一个mysql叙述如下:
:
: SELECT I.*, P.name, C.name FROM
: (
: SELECT * FROM i_table WHERE i_id = 2
: ) as I
: LEFT OUTER JOIN p_table as P ON I.p_id = P.id
: LEFT OUTER JOIN c_table as C ON I.c_id = C.id
:
: 得出来的结果是正确的
:
: 但是我想利用 SELECT COUNT(*) 计算上述结果的资料笔数
: 不知道是哪里有问题一直出现错误讯息无法计算
:
: 希望有高手能帮我解惑,谢谢!
:
: --
:
※ 发信站: 批踢踢实业坊(ptt.cc)
: ◆ From: 218.170.232.115
: ※ 编辑: WebGhost 来自: 218.170.232.115 (05/29 22:02)
: 推 PsMonkey:没有 group by? 05/30 01:03
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.170.232.115