图片中显示的两个表格,即产品和 ProductCategory 。 现在的问题是,(假设)从前端选择的类别( C_ID )是" 3 "," 5 "," 4 "。然后输出必须是" wer "借助加入到产品表。
如果选择的类别为" 5 "," 4 "," 8 ",然后输出必须是" 没有"。你能帮我写一个SQL查询来做吗? 注意:选择类别后,只能显示常用产品。
答案 0 :(得分:1)
这可能会有所帮助:
declare var1 varchar(100)
if exists (select 1 from productcategory where C_id in ('3','4','5')
begin
set @var1= (select top 1 b.name
from productcategory a
join product b
on a.P_id=b.id)
end
else set @var1='Nothing'
Join操作将名称存储在var1中,您可以编写一个返回var1的函数。
答案 1 :(得分:1)
尝试
SELECT MAX(ISNULL(Name,'Nothing')) FROM
(SELECT MAX(Product.Name) AS Name
FROM Product INNER JOIN ProductCategory ON ProductCategory.P_ID = Product.ID
WHERE ProductCategory.C_ID IN (3,4,5)
HAVING COUNT(*) = 1)Q1
显然将(3,4,5)
替换为给定设置传入的内容。
答案 2 :(得分:0)
您需要使用以下内容:
Spring HATEOAS
或使用类似的东西:
if ((select count(distinct product.name) from...) > 1) select 'Nothing'
else select distinct product.name from ...