请考虑下面的MySQL表Selectig与存在,只有当另一列已得到只是某些值
|----+--------+----------|
| id | result |reference |
|----+--------+----------|
| 1 |ok | 33 |
| 2 |ok | 46 |
| 3 |ko | 55 |
| 4 |ko | 55 |
| 5 |ok | 55 |
| 6 |ko | 47 |
| 7 |ko | 89 |
| 8 |ok | 91 |
| 9 |ko | 47 |
+----+--------+----------+
我要选择,其结果= KO和基准= 47,因为该行的列值的行参考文献47不存在于结果=确定的任何行中。除此之外,我只需要一次该行,因为这种情况会发生两次(id = 6和id = 9),尽管它可能会发生一次。事实上,在我所要求的查询中,id = 89的行也应该显示为reference = 89,result = ko,并且没有其他行的reference = 89和result = ok。 非常感谢您提前!
Thaks很多,杜加斯!我认为你以前给我的第一个解决方案是可以的。我的意思是... SELECT DISTINCT estado,referencia FROM envios WHERE NOT EXISTS(SELECT * FROM envios AS tableA2 WHERE envios.estado ='exito')但是现在想象一下,我只有三个列,而不是只有三个列,我想要全部检索它们。我怎么能这样做。在你刚才提到的查询中,你只需要检索两列,但我想要全部七列。感谢您花时间帮助我。对此,我真的非常感激! – Rodolfo 2013-03-20 22:13:13
只需将它们添加到第一个选择。 – dugas 2013-03-20 22:28:14
谢谢duga,它工作完美。我使用第二个选项,结果正是我需要的!再次感谢! – Rodolfo 2013-03-21 11:01:34