簡體   English   中英

MYSQL 如何比較兩個表格的價格並顯示所有結果

[英]MYSQL How to compare price from two tables and show all results

我有兩個表 feed_new 和 feed_old,它們都有 id、name、price。 當用戶 go 進行價格檢查時,將能夠查看包含產品的整個列表,然后查看它們之間的不同(價格變化、產品刪除/缺失、庫存變化)

我進行查詢以提取新舊提要之間的差異,但我需要在一個查詢中顯示記錄的 rest 不僅不同,該怎么做?

$query = $this->db->query("SELECT fo.id, fo.name,fo.price,fo.product_code, fo.stock, fn.id AS id_new, fn.name AS name_new, fn.price AS price_new, fn.product_code AS product_code_new, fn.stock AS stock_new 
FROM feed_old fo 
LEFT JOIN feed_new fn ON (fn.product_code = fo.product_code) 
WHERE fo.price <> fn.price OR fn.product_code IS NULL ");

這將導致:

id      name       price    product_code    stock   id_new  name_new    price_new   product_code_new    stock_new   
4659    Product     481     9997454          29     NULL       NULL     NULL        NULL                 NULL
4665    Product1    326     9997460          0      4665    Product1    3260        9997460              0
4666    Product2    324     9997461          2      4666    Product2    3240        9997461              2
4644    Product3    217     9998929          42     NULL       NULL     NULL        NULL                 NULL

然后我可以像這樣循環結果

<table class="table">
<?php foreach ($query as $product): ?>
  <tr>
    <td> <?php echo $product['name'] ?> </td>
    <td> 
      <?php echo $product['price'] ?> 
      <?php if ($product['price_new'] != ''): ?>
          <?php if $product['price'] <> $product['price_new']): ?>
            <?php echo "New price" ?>
          <?php endif; ?>
        <?php elseif($product['price_new'] == '') ?>
        <?php echo "Product deleted" ?>
      <?php endif; ?>
    </td>
  </tr>
<?php endforeach; ?>
</table>

如果我理解正確,則無需在查詢中使用 fo.price <> fn.price 條件

$query = $this->db->query("SELECT fo.id, fo.name,fo.price,fo.product_code, fo.stock, 
fn.id AS id_new, fn.name AS name_new, fn.price AS price_new, fn.product_code AS 
product_code_new, fn.stock AS stock_new 
FROM feed_old fo 
LEFT JOIN feed_new fn ON (fn.product_code = fo.product_code) 

此查詢將獲取每個帶有(或不帶有)相關新 Feed 的舊 Feed

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM