MySQL根据值

时间:2017-10-05 10:33:31

标签: php mysql

我正在我的系统中进行库存控制,并且我有一个仓库中库存“位置”的表格。这是位置表。

id  location_description_id location_key    product_id  qty
6   1                       1               3           25
7   1                       2               4           25
8   1                       3               3           20

我正在努力获取位置值。例如,如果产品ID为“3”的订单为40件,则可以看到location_key 1中有25件,location_key中有20件

当第一个可用的location_key用完时,选择下一个可用location_key的最佳方法是什么?所以在这种情况下,返回将是id 6,数量25和id 8,数量15(总计我的40)

3 个答案:

答案 0 :(得分:1)

在PHP方面做:

String text = "text here";
String[] wordsToBold = {"word1", "word2", "word3", "word4", "word5", "word6", "word7"}
SpannableString spanString = FontUtility.getMultiFontText(context, "fonts/myfont.ttf", text, wordsToBold);

public static SpannableString getMultiFontText(Context context, int fontPathFromAssets, String text, String[] wordsToBold){
    SpannableString spannableString = new SpannableString(text);
    for(String word : wordsToBold) {
        int startIndex = text.indexOf(word);
        while(startIndex >= 0) {
            int endIndex = startIndex+word.length();
            spannableString.setSpan(new CustomTypefaceSpan(context, context.getString(fontPathFromAssets)), startIndex, endIndex, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
            startIndex = text.indexOf(word, endIndex + 1);
        }
    }

    return spannableString;
}

答案 1 :(得分:1)

假设您有来自查询的结果,以选择存储订购产品的所有位置。你可以在php中做到这一点。

编辑:编辑功能也返回从每个位置选择的数量。

 hello ${name}!

}

答案 2 :(得分:0)

在SQL server中有一个名为OVER(PARTITION BY id)的概念,它会生成id,qty,我们可以再次查询以获得正确的结果。

很难在MySQL中得到必要的响应,但在链接下面会有所帮助。

- > https://explainextended.com/2009/03/10/analytic-functions-first_value-last_value-lead-lag/

您应该能够生成如下所示的输出,并且您可以查询sum_all> = 40 limit 1;

id location_key product_key qty sum_all
6  1            3           25  25
8  3            3           20  45