简体   繁体   English

从表中选择值

[英]select values from table

I have table with below entries.Now I want to select values with timeset_id=0 & timeset_id !=0 .我有以下条目的表格。现在我想选择带有timeset_id=0 & timeset_id !=0

I want to select did_id except did_id=219.Like fields only with timeset_id=0我想选择 did_id 除了 did_id=219.Like 字段只有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)

Answer should be like this答案应该是这样的

| did_id | timeset_id |
|    183 |          0 | 
|    179 |          0 | 
|    185 |          0 | 
|    160 |          0 | 
|    162 |          0 | 
|    165 |          0 | 
|    184 |          0 | 
|    167 |          0 | 

If I understand you right - timeset_id=0 & timeset_id !=0 are making it you want to select all.如果我理解你是正确的 - timeset_id=0 & timeset_id !=0 使你想要全选。 Then you want to have did_id=219, but only if timeset_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)

To select only with timeset_id=0:仅选择 timeset_id=0:

SELECT * FROM routing_relation where account_id=36 AND timeset_id=0;

To select only with timeset_id != 0:仅选择 timeset_id != 0:

SELECT * FROM routing_relation where account_id=36 AND timeset_id<>0;

To select timeset_id=0 and not equal to did_id = 219:要选择 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;

It is everything I can say.这是我能说的一切。

Try:尝试:

SELECT * FROM routing_relation 
WHERE account_id = 36 
AND did_id != 219 
AND timeset_id = 0

Basing on comments your query is the following根据评论,您的查询如下

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

Try and see if it is what you want.试试看是否是你想要的。 Obviously you can change the list of fields selected to your need.显然,您可以根据需要更改所选字段的列表。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM