Php 从表中选择值
我有一个包含以下条目的表。现在我想选择Php 从表中选择值,php,mysql,Php,Mysql,我有一个包含以下条目的表。现在我想选择timeset\u id=0×et\u id的值=0 我想选择did_id,did_id=219除外。仅使用timeset_id=0 SELECT * FROM routing_relation WHERE account_id = 36; +-----+------------+--------+------------+----------+--------------+------------+-------------+ | id | a
timeset\u id=0
×et\u id的值=0
我想选择did_id,did_id=219除外。仅使用timeset_id=0
SELECT * FROM routing_relation WHERE account_id = 36;
+-----+------------+--------+------------+----------+--------------+------------+-------------+
| id | account_id | did_id | timeset_id | route_id | routing_type | voice_file | voice_file2 |
+-----+------------+--------+------------+----------+--------------+------------+-------------+
| 302 | 36 | 183 | 0 | 8 | ER | | |
| 301 | 36 | 179 | 0 | 7 | ER | | |
| 305 | 36 | 185 | 0 | 11 | ER | | |
| 293 | 36 | 160 | 0 | 35 | ER | | |
| 295 | 36 | 162 | 0 | 1 | ER | | |
| 306 | 36 | 219 | 2 | 12 | ER | | |
| 297 | 36 | 165 | 0 | 3 | ER | | |
| 307 | 36 | 219 | 0 | 13 | ER | | |
| 303 | 36 | 184 | 0 | 9 | ER | | |
| 299 | 36 | 167 | 0 | 5 | ER | | |
+-----+------------+--------+------------+----------+--------------+------------+-------------+
10 rows in set (0.00 sec)
答案应该是这样的
| did_id | timeset_id |
| 183 | 0 |
| 179 | 0 |
| 185 | 0 |
| 160 | 0 |
| 162 | 0 |
| 165 | 0 |
| 184 | 0 |
| 167 | 0 |
要仅在timeset_id=0时选择:
SELECT * FROM routing_relation where account_id=36 AND timeset_id=0;
仅使用timeset_id选择!=0:
SELECT * FROM routing_relation where account_id=36 AND timeset_id<>0;
从路由关系中选择*,其中account\u id=36,timeset\u id为0;
要选择timeset_id=0且不等于did_id=219,请执行以下操作:
SELECT did_id, timeset_id FROM routing_relation where account_id=36 AND timeset_id=0 AND did_id<>219;
从路由关系中选择did_id、timeset_id,其中account_id=36,timeset_id=0,did_id219;
这就是我能说的一切。如果我没听错的话-timeset\u id=0×et\u id=0正在使您希望选择全部。 然后,您希望did_id=219,但前提是timeset_id=0
SELECT * FROM routing_relation WHERE account_id=36 AND NOT ( did_id=219 AND timeset_id<>0)
从路由关系中选择*,其中account\u id=36而NOT(did\u id=219和timeset\u id0)
试试:
根据评论,您的查询如下
SELECT id, account_id, did_id, timeset_id, route_id, routing_type
FROM routing_relation
WHERE account_id = 36 AND timeset_id=0 AND did_id<>219
选择id、帐户id、did id、时间集id、路由id、路由类型
从路由关系
其中account_id=36,timeset_id=0,did_id=219
试着看看这是否是你想要的。显然,您可以根据需要更改所选字段的列表。您已经尝试了什么?请将您的SQL语句添加到您的问题中。您能提供您的输出应该是什么吗请阅读
timeset\u id=0
×et\u id=0
?你想要什么?从路由关系中选择*,其中did_id'219'和timeset_id='0'
这不起作用,因为OP希望在同一个查询中同时使用这两个参数,并且想要did_id不等于219…从路由关系中选择*,其中account_id=36,timeset_id=0和did_id=219代码>可能会有帮助吗?你仍然忽略了一点,那就是他希望同时使用timeset_id=0和0(对于他所说的)。编辑你的答案,不要把答案放进去comments@LelioFaieta我已经发布了我想要的答案want@soni8010我看到我的查询从路由关系中选择了did\u id、timeset\u id,其中account\u id=36、timeset\u id=0和did\u id219代码>正确回答您在问题中发布的答案(“答案应该是这样”)。您应该接受此答案或修改您的问题。我不想要did\u id为多次的数据。仅限timeset\u id=0的数据。而且did_id不同。不仅仅是219。该查询应该做到这一点-首先选择所有记录。然后丢弃did_id=219的所有记录,同时TISET_id不是0。那么,是否包含不同于219的\u id和不同的timeset\u id,以及是否包含\u id=219和timeset\u id=0。否。这不是我想要的。我的结果和所需结果之间的差异是什么?
SELECT id, account_id, did_id, timeset_id, route_id, routing_type
FROM routing_relation
WHERE account_id = 36 AND timeset_id=0 AND did_id<>219