Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从表中选择值_Php_Mysql - Fatal编程技术网

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
&
timeset\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
&
timeset\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