xushre 发表于 2011-6-9 16:48:18

Hex进来一下,有个麻烦的问题问你一下

SELECT *
FROM (`xh_yyyymm` , `xh_pact`
)
WHERE `xh_pact`.`id`
IN ('4df0739a83a2a', '4df07474af18b', '4df074ba0bbd0', '4df074cb8c07d', '4df074e0dbfd4', '4df0753a8665f', '4df0755391a21', '4df075986196f', '4df075b0aaceb', '4df0761c4357e','4df076268c0eb', '4df077066c0e0', '4df0773428f6f', '4df077d748343', '4df078530e782', '4df07903cfe56', '4df07d793dc9f', '4df07dac61283', '4df07e111b694'
)
AND `xh_yyyymm`.`pid`
IN ('4df0739a83a2a', '4df07474af18b', '4df074ba0bbd0', '4df074cb8c07d', '4df074e0dbfd4', '4df0753a8665f', '4df0755391a21', '4df075986196f', '4df075b0aaceb', '4df0761c4357e','4df076268c0eb', '4df077066c0e0', '4df0773428f6f', '4df077d748343', '4df078530e782', '4df07903cfe56', '4df07d793dc9f', '4df07dac61283', '4df07e111b694'
)
AND `xh_yyyymm`.`day` = '2011-06-09'
AND `abolish` =0
AND `status`
IN ( 1, 3 )
ORDER BY `day` , `mid` , `section`
LIMIT 10000

我这个SQL哪儿有问题啊?出来的数据不对,啊

jeongee 发表于 2011-6-9 18:43:10

你这样发,在厉害的人也不知道错在哪啊?
你能说明下你的需求,你的表结构等详细点的信息嘛?

xushre 发表于 2011-6-9 18:53:21

本帖最后由 xushre 于 2011-6-9 18:54 编辑

多表复合查询啊。
这是两个表:xh_pact, xh_yyyymm
要查询所有的内容用到的条件:
yyyymm.abolish==0,
yyyymm.day=2011-06-09或者yyyymm.day>2011-06-06 AND yyyymm.day<2011-06-30,
pact.mid=1
pact.status in ('1','3')

所有的条件都是AND。

其实就是复合查询,我不知道哪儿出错了,出来的数据不是我想要的,麻烦懂的朋友给个处理方法,最好给个完整的SQL语句,那就太感谢了!

xushre 发表于 2011-6-9 18:56:46

大家帮忙搞一下啊,在线等

geomen 发表于 2011-6-9 23:35:58

既然是联表查询是不是要找到两个表共同的字段啊?

`xh_pact`.`id`=`xh_yyyymm`.`pid`
当然,选择表的时候最好这样
SELECT * FROM`xh_yyyymm` mm, `xh_pact` ct
WHEREmm.pid = ct.id    ..........................

xushre 发表于 2011-6-10 11:50:13

可是出来的结果不对头啊。就算只取几个字段都会出错!不知道哪儿错了
页: [1]
查看完整版本: Hex进来一下,有个麻烦的问题问你一下