私は私のオリジナルのポストへのフォローアップの質問を持っている(MySQL Compare prices)MySQLの価格&在庫比較
は私がTABLE1、次の列を含むを持っているとしましょう。
例A)
|item |partnumber |supplier |stock |cost
CD 11A West 11 10.11
CD 11A East 0 10.00
USB BBB North 1 125.01
USB BBB West 1 101.10
私は今)@Aliの助けによって(達成していることは、次の(基本的には、製品の最も安い価格で供給を示して)表示するTABLE1のためである:
もつとも例B)
|item |partnumber |supplier |stock |cost
CD 11A East 0 10.00
USB BBB West 1 101.10
This is the code for EXAMPLE B that is working:
SELECT a.name , a.partnumber , a.supplier , a.cost FROM table1 a JOIN (
SELECT name , partnumber , MIN(cost) cost
FROM table1
GROUP BY name , partnumber)
b ON a.name = b.name AND a.cost = b.cost AND a.partnumber = b.partnumber
:最も安い価格と供給者の株式は0であるが、他のサプライヤーは、価格が安いではありません本家、在庫以上の0を持っている場合どうすればそれを達成できますか?たとえば、次の西は、以下のように東の場所を取るでしょう:
例C)を
|item |partnumber |supplier |stock |cost
CD 11A West 11 10.11
USB BBB West 1 101.10
をより明確にするために。最も安いサプライヤには在庫がなく、別のサプライヤにはそうでない場合を除いて、常に在庫の最も安い品目でサプライヤを表示してください。ですから、例C)はどのようにして達成できますか?
ありがとうございました!
表示/これまでに試してみましたが。 –
@redsコードを今すぐ追加しました – Johnny
あなたの 'C'は予期された結果ですか? –