0
我有表product
濾波記錄:米表標準
ID int
name nvarchar()
dummy data: (1,'car'), (2,'bike')
我有表parameters
ID int
name nvarchar()
dummy data: (1,'abs'), (2,'audio'), (3,'eps'), (4,'air conditioning')
最後我有n:m的表product_parameters
持有有關產品參數信息。
ID int
id_product int
id_parameter int
dummy data:
(id,product,parameter)
(1, 1, 1),
(2, 1, 2),
(3, 1, 3),
(4, 2, 1)
如何創建選擇其中:
- 顯示一切參數沒有在搜索定義
- 顯示汽車和自行車,因爲它們都具有參數腹肌
- 只顯示了汽車,因爲它搜索abs,eps,奧迪
這可能嗎?
UPDATE
我只創造了3個參數,但認爲它像無限數量的,無論是10,20或30個或更多...基本上是有辦法如何在這樣一種方式,它建立選擇將根據需要查詢一個參數或根據需要查詢20個參數。
如果我有30個參數?我需要重複哪裏存在30倍? – feronovak 2011-03-30 15:13:23
是的,我認爲是這樣..因爲你要求該行必須附加到所有參數。如果你說「任何」參數,它會小得多。如果你有這麼多參數,我建議將product_parameters連接從子查詢中移出,然後在主查詢中完成。你可以讓程序以編程方式生成EXISTS語句的長列表。 – roberttdev 2011-03-30 15:20:56