這看起來很簡單,但卡住了。因此,讓我首先共享表結構:獲取產品圖像如果狀態等於1
產品:
CREATE TABLE [dbo].[Products](
[ID] [int] IDENTITY(1,1) NOT NULL,
[ProductID] [int] NULL,
[CategoryID] [int] NULL,
[ProductName] [nvarchar](100) NULL,
[Details] [nvarchar](max) NULL,
[Price] [float] NULL,
[Stock] [float] NULL
)
ProductImages:
CREATE TABLE [dbo].[ProductImages](
[ImageID] [int] IDENTITY(1,1) NOT NULL,
[ProductID] [int] NULL,
[ImageName] [nvarchar](100) NULL,
[ImageDetails] [nvarchar](max) NULL,
[Status] [int] NULL
)
ProductID等於在ProductImages表的外鍵。所以我想要顯示的所有產品的圖像的狀態= 1(在ProductImages表中的狀態列)。現在這是一個邏輯。如果我做INNER或LEFT JOIN兩個表,然後它會顯示具有狀態1以下查詢產品:
SELECT m.ProductID, m.CategoryID, m.ProductName, m.Details, m.Price,
m.Stock, k.ImageName, k.Status FROM Products m LEFT JOIN ProductImages k
ON k.ProductID = m.ProductID WHERE k.Status = 1
但我的要求是所有的產品將在默認情況下如圖片(顯示無圖像可用)。當狀態爲1時,僅顯示來自產品圖像的圖像。如果狀態= 0,則顯示產品,但沒有圖像文本或任何其他圖像。這裏是我應該得到的樣本輸出:
注:只有狀態1的圖像將被默認顯示其他與產品細節沒有圖像。
能否請您附上樣本數據?我想知道哪個查詢是來自哪個輸出。 –