簡體   English   中英

在SQL中的聯接查詢中選擇另一個表

[英]Select another table in join query in sql

我有3張桌子。

  1. 股票
    • stock_id (PK)
    • barang_id(FK)
  2. Stock_invoice
    • stock_invoice_id(PK)
    • stock_id(FK)
    • invoice_id(FK)
  3. 當啷
    • barang_id(PK)
    • stock_id(FK)
    • name_barang

我想顯示尚未輸入到stock_invoice表中的庫存數據。 然后我寫查詢如下

SELECT a.stock_id,a.barang_id, b.stock_invoice_id FROM stock a LEFT JOIN stock_invoice b ON a.stock_id=b.stock_id WHERE b.stock_id IS NULL

但我有問題如何選擇name_barang表的name_barang

你需要加入第三張桌子

SELECT a.stock_id,c.name_barang, b.stock_invoice_id
FROM stock a
LEFT JOIN stock_invoice b ON a.stock_id=b.stock_id
JOIN barang c ON a.barang_id = c.barang_id 
WHERE b.stock_id IS NULL

嘗試這個 :-

SELECT a.stock_id,a.barang_id,c.name_barang,b.stock_invoice_id
FROM stock a
LEFT JOIN stock_invoice b ON a.stock_id=b.stock_id
LEFT JOIN Barang c  ON a.barang_id=c.barang_id 
WHERE b.stock_id IS NULL

您需要三種方式的加入,

SELECT 
      a.stock_id,
      a.barang_id,
      b.stock_invoice_id,
      c.name_barang 
    FROM
      stock a 
      LEFT JOIN stock_invoice b 
        ON a.stock_id = b.stock_id 
      JOIN Barang c 
        ON a.barang_id = c.barang_id 
    WHERE b.stock_id IS NULL 

暫無
暫無

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

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