SELECT *
FROM products2tecspecs as p2t, products_tecspecs as pt
WHERE p2t.fk_product_id = '%s' AND pt.pts_id = fk_tecspec_id AND pt.pts_id
IN (5275, 21, 5276, 5277, 5278, 49, 5279)
ORDER BY FIELD(pts_id, 5275, 21, 5276, 5277, 5278, 49, 5279)
我有這個選擇,在那裏我找到de特定的ID,並把它按我想要的順序。 但我有這個關係的問題。我在一個foreach函數中使用它,我需要7個循環。問題不是零,問題是它只帶來了關聯的產品。當然,這不是一個問題,感謝上帝,它發生了,但在我的情況下,它會破壞佈局,如果它只有2,例如。按字段選擇訂單即使它不存在
有沒有一種方法可以讓我做這樣的事情:如果找不到字段,請將其放置到位?
如果我創建的關係,它的工作原理,但我需要用700級的產品做...
我發現this,但它並不似乎是一個NULL問題...
我也試圖與LEFT JOIN但正如我所說,如果關係亙古不存在,不能讓空...
我矇蔽
我發現這個SELECT pts_name FROM ( SELECT pts_name, CASE pts_id WHEN 5275 THEN 1 WHEN 21 THEN 2 WHEN 5276 THEN 3 WHEN 5277 THEN 4 WHEN 5278 THEN 5 WHEN 49 THEN 6 WHEN 5279 THEN 7 END AS sort_order FROM products_tecspecs WHERE pts_id IN (5275, 21, 5276, 5277, 5278, 49, 5279) )a ORDER BY a.sort_order ASC
。它把選擇我要,但還是沒能找到一種方法,做我的目標......
與加盟
SELECT * FROM products2tecspecs AS p2t LEFT JOIN products_tecspecs AS pt ON (p2t.fk_tecspec_id = pt.pts_id) WHERE p2t.fk_product_id =34 AND pt.pts_id IN (5275, 21, 5276, 5277, 5278, 49, 5279) OR p2t.p2t_value IS NULL ORDER BY FIELD(pts_id, 5275, 21, 5276, 5277, 5278, 49, 5279) LIMIT 40
,但沒有奏效。它帶來的結果超出了所選的IN
字段。
正如我張貼,它沒有工作。也許與案例,或一些IF,但無法找到如何...... – JGSilva 2012-07-24 17:55:32
事實上,是'p2t.p2t_value'應該是空的,但沒有奏效。嘗試過'p2t.p2t_value =「」';沒有工作。 – JGSilva 2012-07-24 18:00:26