MySQL加入2个具有重复行的表,但优先考虑左表中的行

时间:2015-08-14 01:50:49

标签: php mysql

我有2张桌子。一个是所有客户的通用价格表,另一个是特定客户的特殊价格表。

他们的一个例子:

特别清单

ID | STOCK_CODE | PRICING_REF | PRICE
1  | 1234       | CUST001     | 1.00
2  | 1235       | CUST001     | 2.00

通用列表

ID | STOCK_CODE | PRICE
1  | 1234       | 4.99
2  | 1241       | 4.99
3  | 1249       | 5.99

我想联合我正在做的2。但是,如果股票代码匹配并且该行中有可用价格,我不想只显示一个列表,而是要合并2,但只显示特殊列表中的价格。

到目前为止我的发言是:

SELECT * FROM stock s LEFT JOIN price p ON p.stock_code = s.stock_code WHERE PRICING_REF = '$pricing_ref' AND s.stock_code = '$ref'

这只返回特殊列表中的项目价格,缺少通用列表中的其余项目。

目前,如果我搜索商品:'%1%',它将返回stock_code 12341235,但不会返回12411249,我和# 39; d也喜欢包括在内。但是,1234的价格必须来自Special List,而不是Generic List

0 个答案:

没有答案