34,588
社区成员
发帖
与我相关
我的任务
分享
select id,customerName,logoname,typename,quantity,Valid
from
type as a,logo as b,customer as c
where
a.TypeId = b.typeid
and
b.logoid = c.logoid
and
valid
select c.*
from customer as c LEFT JOIN logo as b ON b.logoid = c.logoid
LEFT JOIN type as a ON a.TypeId = b.typeid
where C.valid=1
if object_id('CUSTOMER')is not null drop table CUSTOMER
if object_id('Logo')is not null drop table Logo
if object_id('Type')is not null drop table Type
go
Create table Type
( TypeId int identity(0,1) primary key, --类别编号
TypeName nvarchar(20)) --类别名称 )
Create table Logo
( LogoId int identity(0,1) primary key,
TypeId int FOREIGN KEY(TypeId) REFERENCES Type(TypeId),
LogoName Nvarchar(20) )
CREATE TABLE CUSTOMER
(id int identity(1,1) primary key,
CustomerName nvarchar(100),
LogoId int foreign key (LogoId) references Logo(LogoId),
Quantity int,
Valid bit )
INSERT INTO TYPE VALUES(N'电器')
INSERT INTO TYPE VALUES(N'家具')
INSERT INTO LOGO VALUES(0,N'海尔')
INSERT INTO LOGO VALUES(1,N'宜家')
INSERT INTO LOGO(LogoName) VALUES(N'其它')
INSERT INTO CUSTOMER VALUES(N'张三','0',1,1)
INSERT INTO CUSTOMER(CustomerName,Quantity,Valid) VALUES(N'李四',2,1)
select id,customerName,logoname,typename,quantity,Valid
from customer as c LEFT JOIN logo as b ON b.logoid = c.logoid
LEFT JOIN type as a ON a.TypeId = b.typeid AND C.valid=1
/*(影響 1 個資料列)
id customerName logoname typename quantity Valid
----------- ---------------------------------------------------------------------------------------------------- -------------------- -------------------- ----------- -----
1 张三 海尔 电器 1 1
2 李四 NULL NULL 2 1
*/
select
id,
CustomerName,
Logo.LogoName,
Type.TypeName
from CUSTOMER
left outer join Logo on Logo.LogoId = CUSTOMER.LogoId
left outer join Type on Type.TypeId = Logo.TypeId
where Valid = 1