Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.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 如何编写嵌套查询以显示信用额度低于同一表中cit中客户的客户名称和信用额度?_Sql_Sql Server 2008_Subquery - Fatal编程技术网

Sql 如何编写嵌套查询以显示信用额度低于同一表中cit中客户的客户名称和信用额度?

Sql 如何编写嵌套查询以显示信用额度低于同一表中cit中客户的客户名称和信用额度?,sql,sql-server-2008,subquery,Sql,Sql Server 2008,Subquery,以下是我的客户表: create table CUSTOMERS (CustID char(6) unique Not null, Name varchar(45), Address varchar(40), City varchar(30), State varchar(2), Zip varchar(9), AreaCode char

以下是我的客户表:

create table CUSTOMERS
    (CustID      char(6)       unique Not null,
     Name        varchar(45),
     Address     varchar(40),
     City        varchar(30),
     State       varchar(2),
     Zip         varchar(9),
     AreaCode    char(3),
     Phone       varchar (9),
     RepID       char(4)       not null,
     CreditLimit decimal(9,2),
     Primary key(CustID),
         Foreign key(RepID) References EMPLOYEES(EmpID));




insert into CUSTOMERS values (100,'Jocksports','345 Viewridge','Belmont','CA','96711',415,'598-6609',7844,5000);
insert into CUSTOMERS values (101,'TKB Sport Shop','490 Boli Rd.','Redwood City','CA','94061',415,'368-1223',7521,10000);
insert into CUSTOMERS values (102,'Vollyrite','9722 Hamilton','Burlingame','CA','95133',415,'644-3341',7654,7000);
insert into CUSTOMERS values (103,'Just Tennis','Hillview Mall','Burlingame','CA','97544',415,'677-9312',7521,3000);
insert into CUSTOMERS values (104,'Every Mountain','574 Surry Rd.','Cupertino','CA','93301',408,'996-2323',7499,10000);
insert into CUSTOMERS values (105,'K + T Sports','3476 El Paseo','Santa Clara','CA','91003',408,'376-9966',7844,5000);
insert into CUSTOMERS values (106,'Shape Up','908 Sequoia','Palo Alto','CA','94301',415,'364-9777',7521,6000);
insert into CUSTOMERS values (107,'Womens Sports','Valco Village','Sunnyvale','CA','93301',408,'967-4398',7499,10000);
insert into CUSTOMERS values (108,'North Woods Fitness Supply Center','98 Lone Pine Way','Hibbing','MN','55649',612,'566-9123',7844,8000);
以下是我需要修改的问题:

select name, creditlimit
from CUSTOMERS
where name in
(select name
from CUSTOMERS
where City = 'sunnyvale');
我在任何地方都找不到回答以下提示的示例:

编写嵌套查询以显示信用额度低于Sunnyvale中客户的客户名称和信用额度。首先列出最低信用额度。

试试这个

SELECT Name,CREDITLIMIT FROM  CUSTOMERS 
WHERE CREDITLIMIT < (SELECT CREDITLIMIT FROM CUSTOMERS 
                     WHERE CITY = 'Sunnyvale')
ORDER BY CREDITLIMIT 
如果Sunnyvale有多个客户,您可以使用MIN或MAX

SELECT Name,CREDITLIMIT FROM  CUSTOMERS 
WHERE CREDITLIMIT < (SELECT MAX(CREDITLIMIT) FROM CUSTOMERS 
                     WHERE CITY = 'Sunnyvale')
ORDER BY CREDITLIMIT 
试试这个

SELECT Name,CREDITLIMIT FROM  CUSTOMERS 
WHERE CREDITLIMIT < (SELECT CREDITLIMIT FROM CUSTOMERS 
                     WHERE CITY = 'Sunnyvale')
ORDER BY CREDITLIMIT 
如果Sunnyvale有多个客户,您可以使用MIN或MAX

SELECT Name,CREDITLIMIT FROM  CUSTOMERS 
WHERE CREDITLIMIT < (SELECT MAX(CREDITLIMIT) FROM CUSTOMERS 
                     WHERE CITY = 'Sunnyvale')
ORDER BY CREDITLIMIT 
尝试上面的查询

以下是演示:

尝试上面的查询

以下是演示:


此查询将按您想要的顺序生成

   SELECT CreditLimit, Name
    FROM CUSTOMERS
    WHERE CreditLimit < ( 
    SELECT CreditLImit
    FROM CUSTOMERS
    WHERE City =  'sunnyvale' ) 
    ORDER BY CreditLimit

此查询将按您想要的顺序生成

   SELECT CreditLimit, Name
    FROM CUSTOMERS
    WHERE CreditLimit < ( 
    SELECT CreditLImit
    FROM CUSTOMERS
    WHERE City =  'sunnyvale' ) 
    ORDER BY CreditLimit

如果Sunnyvale有多个客户,您需要从Sunnyvale获得最低信用额度并与其他客户进行比较吗?啊…我应该在不知道Sunnyvale只有一个客户的情况下进行此查询。这样我就可以得到桑尼维尔的最低工资了。但我仍然对语法感到困惑。我在我的书中找不到一个好的例子,在网上也找不到一个好的例子。事实上,根据它的提示,Sunnyvale的客户可能会说我已经知道Sunnyvale只有一个客户。但是我不知道。如果森尼维尔有多个客户,你需要从森尼维尔获得最低信用额度并与其他客户进行比较吗?啊……我应该在不知道森尼维尔只有一个客户的情况下进行查询。这样我就可以得到桑尼维尔的最低工资了。但我仍然对语法感到困惑。我在我的书中找不到一个好的例子,在网上也找不到一个好的例子。事实上,根据它的提示,Sunnyvale的客户可能会说我已经知道Sunnyvale只有一个客户。但是我不知道。我也可以区分,对吗?…没关系,你不是在说重复。我也可以区分,对吗?…没关系,你不是在说重复。随时:如果你想更改顺序,只需将order BY desc添加到查询中,它会以降序显示结果。随时:如果你想更改顺序,只需将orderbydesc添加到查询中,它就会以降序显示结果。