Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.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
Sql 为另一列的每个唯一值选择具有一列唯一值的行_Sql_Sql Server - Fatal编程技术网

Sql 为另一列的每个唯一值选择具有一列唯一值的行

Sql 为另一列的每个唯一值选择具有一列唯一值的行,sql,sql-server,Sql,Sql Server,输入: 项目|订单|编号|名称 ------------------------- 123 | 100 |乔 123 | 101 |鲍勃 123 | 101 |鲍勃 124 | 101 |鲍勃 456 | 102 |鲍勃 期望输出: ITEM_NO | ORDER_NO | NAME ------------------------- 123 | 100 | JOE 123 | 101 | BOB 123 | 101 | BOB 124

输入:

项目|订单|编号|名称 ------------------------- 123 | 100 |乔 123 | 101 |鲍勃 123 | 101 |鲍勃 124 | 101 |鲍勃 456 | 102 |鲍勃 期望输出:

ITEM_NO | ORDER_NO | NAME ------------------------- 123 | 100 | JOE 123 | 101 | BOB 123 | 101 | BOB 124 | 101 | BOB 456 | 102 | BOB 项目|订单|编号|名称 ------------------------- 123 | 100 |乔 123 | 101 |鲍勃 124 | 101 |鲍勃 456 | 102 |鲍勃
基本上,我需要为每个唯一订单选择具有唯一项目编号的所有行。

尝试
不同的
选择

ITEM_NO | ORDER_NO | NAME ------------------------- 123 | 100 | JOE 123 | 101 | BOB 124 | 101 | BOB 456 | 102 | BOB
选择不同的项目号、订单号、名称
从…起

选择I.ITEM\u NO、I.ORDER\u NO、I.NAME
FROM(选择不同的项目号、订单号FROM)作为X
加入I.ITEM_NO=X.ITEM_NO和I.ORDER_NO=X.ORDER_NO

提示:
选择DISTINCT
。如果我知道如何以这种方式使用SELECT DISTINCT来完成我需要的任务,我就不会在这里了。:)@请尝试给出的答案
SELECT DISTINCT ITEM_NO, ORDER_NO, NAME
FROM <TABLE_NAME>
SELECT I.ITEM_NO, I.ORDER_NO, I.NAME 
FROM (SELECT DISTINCT ITEM_NO, ORDER_NO FROM <TABLE_NAME>) AS X
JOIN <TABLE_NAME> I ON I.ITEM_NO = X.ITEM_NO AND I.ORDER_NO = x.ORDER_NO