我被困在MySQL查询中,不知道我在做什么错误(使用MySQL 5.0.88)。为什么我的mysql选择返回一个空的结果集?
这里是我的查询:
SELECT b.some, b.thing, bt.else AS liefdatum_gewuenscht, bt.bar
FROM btable AS b
LEFT JOIN bschedule AS bt
ON bt.key= b.key
AND bt.type = b.type
WHERE
b.entry_from IN (1,2,3,4)
AND b.`status` = "2"
AND b.date >= 20120718
LIMIT 1,10
查询应返回单个记录,但对于b.status
检查导致空响应,虽然有问题的记录有2
状态与2
是一个CHAR
场。
如果我注释掉它返回正确的记录行,但是我想知道我做错了吗?
任何人都可以给我提示吗?
谢谢!
编辑
一些更多的测试后,我认为这b.status是没有问题的,因为如果我有问题使用任何其他列和值从记录也返回任何结果。
E.g.该记录将有列
==== no ===== written_by =====
1111 john smith
所以投入:
AND b.no = 1111 OR b.written_by = "john smith"
也返回一个空结果。
EDIT2
下面是一个示例数据集和查询。我离开了LEFT JOIN,因为它没有任何区别:
SELECT b.*
FROM bk AS b
WHERE 1
AND b.entry_from IN (9900000002985)
AND b.`status` = "2 "
AND b.bestelldatum >= 20120718
LIMIT 1,10
表:
CREATE TABLE `bk` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`entry_from` VARCHAR(13) NULL DEFAULT NULL,
`placed_at` VARCHAR(13) NULL DEFAULT NULL,
`type` VARCHAR(2) NULL DEFAULT 'SF',
`no` VARCHAR(35) NULL DEFAULT NULL,
`date` DATE NULL DEFAULT NULL,
`written_by` VARCHAR(35) NULL DEFAULT 'Händler',
`status` VARCHAR(3) NULL DEFAULT NULL,
PRIMARY KEY (`id`)
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB;
HM ...如何粘贴记录......这是问题
记录id = 985
entry_from = 9900000002985
placed_at = 9900000003005
type = SF
no = 11
date = 2012-07-19
written_by "Fachhändler"
status = 2
MySQL的哪个版本? – nawfal 2012-07-29 18:01:40
我忘了... 5.0。88 – frequent 2012-07-29 18:02:33
可以给我们一组样本的数据和模式,以便我们可以在不同版本的mysql中进行测试吗? – nawfal 2012-07-29 18:04:11