0

MySQL新手提出的非常简单的问题:

我有一张表,其中包含一些交易信息(amount_paid、date、product_type ...)。每笔交易都有一个唯一的 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、436和 439,相反,我查询ID = 578 OR ID = 587 OR ID = 588并且我只有 578 和 588。

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

按照下面的建议,我尝试使用 WHERE ID IN (435, 439...) 进行查询,但我得到了同样有问题的结果

如果有人可以向我解释我做错了什么,那就太好了......

我正在从 phpmyadmin 进行查询。

4

3 回答 3

0

我们知道,选择数据的 sql 格式是SELECT * FROM yourTable. 你错过FROM了一部分

于 2013-10-03T08:05:26.440 回答
0

您是否尝试过类似的方法:

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

也许你有问题OR

于 2013-10-03T08:06:15.810 回答
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)
于 2013-10-03T08:06:20.323 回答