久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

一個mysql聯表查詢的問題

瀏覽:193日期:2022-06-16 14:19:00

問題描述

stock(進貨單表)stock_id -- 進貨單ID主鍵stock_product(進貨單和產品關系表)stock_id -- 進貨單IDproduct_sn -- 產品編號(廠家提供的編號,每個產品一個)product_no -- 產品自編號(針對該進貨單的每個產品的自編號,同一進貨單內自編號和產品編號是一一對應,但不同進貨單里可能有相同的自編號對應不同的廠家產品編號)quantity -- 進貨數量shipment(出貨單表)shipment_id -- 出貨單IDstock_id -- 進貨單IDshipment_product(出貨單和產品關系表)shipment_id -- 出貨單IDproduct_no -- 產品自編號quantity -- 出貨數量

# 查詢進貨單ID為1的產品出貨數量明細SELECT sh.stock_id, st_p.product_sn, sh_p.quantityFROM shipment_product sh_p LEFT JOIN shipment sh ON sh.shipment_id=sh_p.shipment_id LEFT JOIN stock_product st_p ON st_p.product_no=sh_p.product_no WHERE sh.stock_id=1

這個SQL查出來的出貨情況是不對的,請問該怎么寫?

問題解答

回答1:

SELECT *FROM shipment_product shipment_productLEFT JOIN shipment shipment ON shipment.shipment_id = shipment_product.shipment_idWHERE shipment_product.product_no IN (SELECT stock_product.product_noFROM stock_product stock_productLEFT JOIN stock stock ON stock.stock_id = stock_product.stock_idWHERE stock_product.stock_id = 1 )回答2:

第二個left join stock表試試吧

回答3:

如果 stock_product表中的字段product_no等于shipment_product表

SELECT *FROM shipment_product AS sh_pWHERE product_no = ( SELECT stock_id FROM stock_product AS st_p WHERE st_p.stock_id = 1 )

不一樣的話

SELECT *FROM shipment_product AS sh_pWHERE sh_p.shipment_id = ( SELECT shipment_id FROM shipment AS st_p WHERE st_p.stock_id = 1 )

相關文章:
主站蜘蛛池模板: 咸宁市| 广西| 光山县| 阳江市| 自治县| 江城| 石阡县| 化州市| 嫩江县| 根河市| 广南县| 鄂托克前旗| 鹤山市| 明星| 将乐县| 循化| 大姚县| 尚志市| 仙桃市| 疏附县| 兴安盟| 余干县| 永新县| 阿拉善左旗| 西昌市| 攀枝花市| 尼木县| 马关县| 延津县| 和平县| 漠河县| 大丰市| 大安市| 镶黄旗| 林芝县| 江西省| 乌拉特前旗| 彩票| 桐柏县| 阿荣旗| 澄城县|