簡體   English   中英

有人可以幫我這個SQL查詢嗎?

[英]Can someone please help me with this sql query?

因此,在我的工作中,我被要求修復在mysql 5數據庫上運行的一些sql代碼,並且卡住了,我也不確定這是否是執行此操作的正確位置,但是對此問題有少量啤酒懸賞。 請將一些啤酒錢發送給投票最多的問題。

基本上,該語句需要執行以下操作:從customer_basket中刪除行,其中products.products_quantity <1 AND LOWER(inventory_t_product_minimum_stock.minimum_quantity)='nla'

這是當前的語句:

DELETE FROM customers_basket 
WHERE EXISTS
    (SELECT products_id
        FROM inventory_t_product_minimum_stock
        WHERE customers_basket.products_id = 
            inventory_t_product_minimum_stock.products_id            
        AND LOWER(inventory_t_product_minimum_stock.minimum_quantity) = 'nla')

因此,實際上所有需要更改的都是添加有關products_quantity <1的位,但是,該信息來自另一個表。

為3個表編寫一個簡單的左聯接並不難,但是我擔心的是,當用戶登錄時執行此代碼,而聯接3個大表對我來說將是一個很大的問題。 我實際上是C開發人員來的javascript編碼器,有些數據庫超出了我的專業領域。 那里的一位sql專家是否有一個很好的解決方案,而無需更改我們的數據庫架構?

編輯*拼寫

只要您的表已正確建立索引,並且您正在加入已索引的字段,並且您的過濾器定位到已建立索引的字段,則查詢的性能應該會很好。

此外,您是否僅刪除用戶購物籃表中用於用戶登錄或數量小於1的所有產品的項目?

暫無
暫無

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

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