若要执行列中具有相同值的相同操作,我应该使用什么sql查询

若要执行列中具有相同值的相同操作,我应该使用什么sql查询,sql,sql-server,Sql,Sql Server,下表列出了年龄,共4列:OrgID、EmpID、Name、Salary。我想显示EmpID值大于1000的OrgID值。 所以,如果EmpID中的任何一个不满足条件,则不应打印OrgID值。要显示OrgID,所有相应的EmpID都应符合薪资标准 |OrgID|EmpID|Name|Salary| |-----|-----|----|------| |1 |1 |Sam |800 | |1 |2 |Gel |1200 | |2 |1 |Moy |1100

下表列出了年龄,共4列:OrgID、EmpID、Name、Salary。我想显示EmpID值大于1000的OrgID值。 所以,如果EmpID中的任何一个不满足条件,则不应打印OrgID值。要显示OrgID,所有相应的EmpID都应符合薪资标准

|OrgID|EmpID|Name|Salary|
|-----|-----|----|------| 
|1    |1    |Sam |800   |
|1    |2    |Gel |1200  |
|2    |1    |Moy |1100  |
|2    |2    |Gar |1300  |
|1     |3    |Joy |2000  |

我想显示其ID2值的薪水超过1000的ID1值。因此,如果ID2中的任何一个不满足条件,则不应打印ID1值

您可以使用聚合:

select id1
from t
group by id1
having min(salary) > 1000;
您可以这样尝试:

SELECT id1
FROM table_AGE
WHERE salary > 1000;
这将为每个工资>1000的记录打印id1

从表中选择OrgID、EmpID、name、salary OrgID不在哪里 从工资<1000的表中选择OrgID
MySQL SQL Server。不要给标签发垃圾邮件。此外,其中Day=1没有任何意义,因为您的表中没有这样的列。我想显示ID2值的薪水超过1000的ID1值。如果ID2中的任何一个不满足薪水条件,则不应打印ID1。@请您帮助,ID1值只应为满足薪水条件的ID2打印。请帮忙。@Adityasharma。这就是它的作用。如果ID2中的任何一个满足薪资条件,它将显示ID1值,但如果ID2中的任何一个不满足薪资条件,则不应打印ID1。@Adityasharma。否。最小值坚持最小值至少为100。为了澄清您的混淆,我更新了问题中的列名,ID1作为OrgID,这将是组织ID,ID2作为EmpID员工ID。因此,对于1个OrgID,将有多个EmpID,如果任何EmpID不符合薪资标准,则不应显示OrgID。若要显示OrgID,所有EmpID都应符合薪资标准。我只想打印ID1值,而不是ID2。从“选择”中删除ID2,您就可以开始了。您可以理解存在OrganizationID列和EmployeeID列这样的问题。对于1个OrgID,可能有多个EmpID,所以我只想显示EmpID满足薪水>1000的OrgID。示例:OrgID EmpID Name薪水1 1 Sam 800 1 2 Gel 1200 2 Moy 1100 1 3 Gar 1300 3 1 Man 900 3 2 Joy 2000所以这里只在下面一行满足条件:2 1 Moy 1100我希望你现在明白我的问题了。因为如果你说只要从select中删除ID2,你就可以开始了。它也将显示1的ID1,但他的ID2值1不符合薪资标准,因此不应打印。@Adityasharma为什么1 2 Gel 1200和1 3 Gar 1300不能正确回答您的问题?为什么只有21MOY1100?难道不是这样吗。。。内部联接表\u AGE t2 on t1.id1=t2.id1…?输出是的,我将在执行查询时编辑从表\u AGE t1内部联接t2 on t1.id1=t2.id2中选择t2.id2、t2.name、t2.salary,其中t2.salary>1000它给出错误消息208,级别16,状态1,第1行无效对象名称“t2”。是的,我忘记输入表名:我编辑我的答案。请再试一次如果ID2中的任何一个不符合薪资标准,则不应打印ID1值。但在你的查询中,它仍在打印。ID1 ID2姓名薪资1 1 Sam 800 1 2 Gel 1200 2 1 Moy 1100 1 3 Gar 1300 ID1值1不应显示,即使在1 2 Gel 1200 1 3 Gar 1300符合薪资标准但1 1 Sam 800不符合薪资标准后,也不应打印ID1 1。