Sql server SQL Server对多个表的查询
我有一个SQL Server数据库,其中有一个大型的Sql server SQL Server对多个表的查询,sql-server,database,sql-like,Sql Server,Database,Sql Like,我有一个SQL Server数据库,其中有一个大型的产品表和一个类别表 在产品表中有一个类别列,其中包含相应类别的ID。 我要做的是对product name列和相应的category name执行一个LIKE查询,并返回所有匹配项 考虑到我希望最小化服务器上的负载,我应该使用什么样的方法 编辑以改进此问题: 结果: 产品名称->红苹果catId->3(类别id=3,“最佳苹果”) 产品名称->青苹果catId->5(类别id=5,“好水果”) 产品3名称->绿色香蕉catId->8(cat_i
产品
表和一个类别
表
在产品
表中有一个类别
列,其中包含相应类别的ID。
我要做的是对product name列和相应的category name执行一个LIKE查询,并返回所有匹配项
考虑到我希望最小化服务器上的负载,我应该使用什么样的方法
编辑以改进此问题:
结果:
产品名称->红苹果catId->3(类别id=3,“最佳苹果”)
产品名称->青苹果catId->5(类别id=5,“好水果”)
产品3名称->绿色香蕉catId->8(cat_id=8,“苹果和香蕉”)如果我理解正确,这将帮助您-
create table products(
ID INT PRIMARY KEY,
[Name] NVARCHAR(MAX),
[CatId] INT
)
CREATE TABLE CATEGORIES(
ID INT PRIMARY KEY,
[Name] NVARCHAR(MAX)
)
insert into CATEGORIES values(1, 'Laptop')
insert into CATEGORIES values(2, 'Fruit')
insert into products values (2, 'Washington Apple', 2)
insert into products values (1, 'Apple mac book pro', 1)
select * from products
SELECT p.[Name] as ProductName, c.[Name] as CategoryName FROM products p LEFT JOIN CATEGORIES c ON p.CatId = c.ID Where p.[Name] like '%apple%'
这段代码将连接这两个表,并返回名称与关键字匹配的产品,以及它们的类别名称。可以修改产品和类别的定义,以包含所需的其他列。您可能还希望在catid上添加FK约束 到目前为止你尝试了什么?发布你当前的方法。简单。只需将两个表连接起来,并使用like选项。这很好地实现了您所描述的功能。谢谢你,但我试图实现的是不同的,但我认为这是一个好的开始。我会改进我的问题