2013-10-03 116 views
0

很简单的问题:MySQL查询不返回正确的结果从MySQL新手

我有一个表上交易的一些信息(amount_paid,日期,产品类型...)。每笔交易都有一个唯一的ID,我也有一个交易清单。我必须根据这个ID进行检查。所以我在做一个查询像...

SELECT amount_paid, date, ID FROM transactions WHERE ID = 10 OR ID = 12 OR ID = 34 OR ID = 76 

等...(我有像200个交易检查)

什么奇怪的是,在结果我的ID,我没有要求,我想念ID我要求...例如,我查询ID = 435 OR ID = 439,我得到了435,和439,相反,我查询ID = 578 OR ID = 587 OR ID = 588,我得到只有578和588.

我仍然有我所查询的大部分,但与这些奇怪的差异...

下面

建议之后,我试着做WHERE ID IN(435,439 ...),但我得到了同样的问题结果

查询。如果有人可以给我什么,我做错了解释,它将是伟大的...

我正在做我的查询从phpmyadmin。

+0

是否缺少'FROM table'新的东西? –

+0

嗨,不,我没有失踪FROM,我只是忘记写在我的问题,对不起 – user2664793

+0

也许你使用'AND'或'OR'混淆,如果你有一套记录你应该使用'AND'蚂蚁不是'OR'。请参阅下面的答案,建议您使用'IN' –

回答

0

正如我们所知,选择数据的sql格式是SELECT * FROM yourTable。你错过FROM部分

0

您是否尝试过这样的:

SELECT * FROM TABLE WHERE ID IN (id1, id2, ..., idn) 

也许你与OR

0

请参见查询问题

SELECT amount_paid, date, ID WHERE ID = 10 OR ID = 12 OR ID = 34 OR ID = 76 

你忘FROM table应使用固定这个:

SELECT amount_paid, date, ID FROM mytable WHERE ID = 10 OR ID = 12 OR ID = 34 OR ID = 76 

,或者您也可以尝试这样的,你

SELECT amount_paid, date, ID FROM mytable WHERE ID in (10,12,34,76) 
+0

您好 - 感谢您的IN建议,但我在使用此操作员时遇到了完全相同的问题 – user2664793

+0

@ user2664793,您是否在您的ID上设置了主键?你可以发布你的发现,就像你运行查询显示结果一样。谢谢! –