假设我的表只包含2个字段,ID和产品,并说我的结构看起来像这样
1 microsoft
0 cisco
2 cisco
3 vmware
0 adobe
0 microsoft
我需要编写一个查询,列出 id = 0 但仅限
的记录0 adobe
因为miocrsoft和cisco的另外两个产品还有一个确实有ID的记录,所以我可以将它们排除在外。
我希望我清楚我想要实现的目标。如果可以在sql
中完成,请告诉我答案 0 :(得分:2)
是的,这可以使用基本聚合。请注意我如何发布耗材数据?这是你应该做的事情。创建可用数据比编写查询花了我更长的时间。
with something(Col1, Col2) as
(
select 1, 'microsoft' union all
select 0, 'cisco' union all
select 2, 'cisco' union all
select 3, 'vmware' union all
select 0, 'adobe' union all
select 0, 'microsoft'
)
select Col2
from something
group by Col2
having MAX(Col1) = 0
答案 1 :(得分:1)
您可以使用using System;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
namespace App1
{
[Activity(Label = "App1", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity : Activity
{
int count = 1;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.Main);
// Get our button from the layout resource,
// and attach an event to it
Button button = FindViewById<Button>(Resource.Id.MyButton);
button.Click += delegate {
button.Text = string.Format("{0} clicks!", count++);
};
}
}
}
:
NOT EXISTS
答案 2 :(得分:0)
尝试这样的事情
SELECT *
FROM table
WHERE id = 0 and product not in
(
SELECT product
FROM table
WHERE id <> 0
)
答案 3 :(得分:0)
您可以使用以下代码来获得答案: 在代码的第一部分获取所有产品。 第二部分相同的产品设置了一个数组。 最后,从ID 0
的产品中删除了相同的产品(“my database name = stackoverflow”,“my table name = stack”,“my fields = id,name”)
<?php
$conn = mysql_connect('localhost','root','') or die ("erorr");
mysql_select_db('stackoverflow');
$query1 = "SELECT name FROM stack";
$result = mysql_query($query1);
echo "<b>Show the products:</b>";
echo "<br>";
$y;
$z;
$i = 0;
$k = 0;
while ($x = mysql_fetch_array($result)) {
echo $x[0];
echo "<br>";
$y[$i] = $x[0];
if ($i > 0) {
for ($j=0; $j < $i; $j++) {
if ($y[$i] == $y[$j]) {
if ($k > 0) {
for ($q=0; $q < $k; $q++) {
if ($z[$q] == $y[$i]) {
break 2;
}
}
}
$z[$k] = $y[$i];
$k++;
break 1;
}
}
}
$i++;
}
echo "<hr>";
echo "<b>Show duplicate products:</b>";
echo "<br>";
$k=0;
while (isset($z[$k])) {
echo $z[$k];
$k++;
echo "<br>";
}
$query2 = "SELECT name FROM stack WHERE id=0";
$result = mysql_query($query2);
echo "<hr>";
echo "<b>Show answers:</b>";
echo "<br>";
while ($x = mysql_fetch_array($result)) {
if (!in_array($x[0], $z)) {
echo $x[0];
echo "<br>";
}
}
?>
但是这种反应,并没有优化和表不好的设计。因为每个表都应该有一个主键并按键搜索。