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

问题描述 投票:0回答:4

以下是我的客户表:

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');

我无法在任何地方找到示例来回答以下提示:

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

sql sql-server-2008 subquery
4个回答
3
投票

试试这个

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

如果桑尼维尔有多个客户,您可以使用 MIN 或 MAX

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

2
投票

此查询将导致订购您想要的东西。

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

1
投票
select name, creditlimit
from CUSTOMERS
where creditlimit <
(select CreditLimit
from CUSTOMERS
where City = 'sunnyvale') order by CreditLimit

尝试以上查询。

这是演示:

SQLFIDDLE 演示


0
投票
  1. 在以下条件下,从客户表中显示客户编号、客户名称、状态和信用额度。按 CreditLimit 的最高值到最低值对结果进行排序。

● 状态不应包含空值 ● 信用额度须在50000至100000之间

© www.soinside.com 2019 - 2024. All rights reserved.