从SQL中的表中获取数据,并在前面从几个表中创建列.如何加入SQL查询



我正在编写SQL查询,但无法将它们全部组合起来。我总是得到一个带查询的列。所有公共表的PM_Product表。如何进行合并操作?

我的SQL查询:

SELECT pv.PropertyValue as [Author]
FROM FAZIKI.dbo.PM_Product as p
JOIN FAZIKI.dbo.PM_ProductProperty as pp on p.Id=pp.ProductId
JOIN FAZIKI.dbo.PM_PropertyValue as pv on pp.ValueId=pv.Id
WHERE p.RayonId=1 AND pv.PropertyId=69 OR pv.PropertyId=67 OR pv.PropertyId=38
SELECT pv.PropertyValue as [Publisher]
FROM FAZIKI.dbo.PM_Product as p
JOIN FAZIKI.dbo.PM_ProductProperty as pp on p.Id=pp.ProductId
JOIN FAZIKI.dbo.PM_PropertyValue as pv on pp.ValueId=pv.Id
WHERE p.RayonId=1 AND pv.PropertyId=9 OR pv.PropertyId=13 OR pv.PropertyId=60 OR pv.PropertyId=73
SELECT pv.PropertyValue as [Number of Pages]
FROM FAZIKI.dbo.PM_Product as p
JOIN FAZIKI.dbo.PM_ProductProperty as pp on p.Id=pp.ProductId
JOIN FAZIKI.dbo.PM_PropertyValue as pv on pp.ValueId=pv.Id
WHERE p.RayonId=1 AND pv.PropertyId=61 OR pv.PropertyId=31
SELECT dpt.RegionName as [BDR]
FROM FAZIKI.dbo.PM_Product as p
JOIN FAZIKI.dbo.PM_ProductRegion ppr on p.Id=ppr.ProductId
LEFT JOIN FAZIKI.dbo.DF_PMRegionCupboardShelfType tt ON tt.Id = ppr.RegionCupboardShelfTypeId
LEFT JOIN FAZIKI.dbo.DF_PMRegionType dpt ON tt.RegionTypeId = dpt.Id
join FAZIKI.dbo.DF_Warehouse w on w.Id=dpt.WarehouseId
WHERE w.Id=45
SELECT gc.CategoryName as [Category Name]
FROM FAZIKI.dbo.PM_Product as p
JOIN FAZIKI.dbo.PM_ProductCategory as pc on p.Id=pc.ProductId
JOIN FAZIKI.dbo.GN_Category as gc on pc.CategoryId=gc.Id
WHERE p.RayonId=1
SELECT p.SalesPrice as [Sales price], cc.CurrencyCodeName as [Currency]
FROM FAZIKI.dbo.PM_Product as p
JOIN FAZIKI.dbo.DF_GNCurrencyCode cc on p.SalesCurrencyCodeId=cc.Id
WHERE p.RayonId=1

这些都是联接SQL查询,它们共同使用的表是PM_Product。如何组合所有这些查询?

我根据Excel文件设置查询并将其发送给您。请查收,如果您有任何问题,我随时为您服务。

SELECT TOP(1) p.SalesPrice as [Sales price], cc.CurrencyCodeName as [Currency]
, (SELECT TOP(1) pv.PropertyValue 
FROM FAZIKI.dbo.PM_Product as p
JOIN FAZIKI.dbo.PM_ProductProperty as pp on p.Id=pp.ProductId
JOIN FAZIKI.dbo.PM_PropertyValue as pv on pp.ValueId=pv.Id
WHERE p.RayonId=1 AND pv.PropertyId=69 OR pv.PropertyId=67 OR pv.PropertyId=38) AS [Author]
, ( SELECT TOP(1) pv.PropertyValue 
FROM FAZIKI.dbo.PM_Product as p
JOIN FAZIKI.dbo.PM_ProductProperty as pp on p.Id=pp.ProductId
JOIN FAZIKI.dbo.PM_PropertyValue as pv on pp.ValueId=pv.Id
WHERE p.RayonId=1 AND pv.PropertyId=9 OR pv.PropertyId=13 OR pv.PropertyId=60 OR pv.PropertyId=73) as [Publisher]
,  (SELECT TOP(1) pv.PropertyValue 
FROM FAZIKI.dbo.PM_Product as p
JOIN FAZIKI.dbo.PM_ProductProperty as pp on p.Id=pp.ProductId
JOIN FAZIKI.dbo.PM_PropertyValue as pv on pp.ValueId=pv.Id
WHERE p.RayonId=1 AND pv.PropertyId=61 OR pv.PropertyId=31) as [Number of Pages]
, (SELECT TOP(1) dpt.RegionName 
FROM FAZIKI.dbo.PM_Product as p
JOIN FAZIKI.dbo.PM_ProductRegion ppr on p.Id=ppr.ProductId
LEFT JOIN FAZIKI.dbo.DF_PMRegionCupboardShelfType tt ON tt.Id = ppr.RegionCupboardShelfTypeId
LEFT JOIN FAZIKI.dbo.DF_PMRegionType dpt ON tt.RegionTypeId = dpt.Id
join FAZIKI.dbo.DF_Warehouse w on w.Id=dpt.WarehouseId WHERE w.Id=45) AS [BDR]
, (SELECT TOP(1) gc.CategoryName 
FROM FAZIKI.dbo.PM_Product as p
JOIN FAZIKI.dbo.PM_ProductCategory as pc on p.Id=pc.ProductId
JOIN FAZIKI.dbo.GN_Category as gc on pc.CategoryId=gc.Id
WHERE p.RayonId=1) as [Category Name]
FROM FAZIKI.dbo.PM_Product as p
JOIN FAZIKI.dbo.DF_GNCurrencyCode cc on p.SalesCurrencyCodeId=cc.Id
WHERE p.RayonId=1