2017-04-24 78 views
0

我有3个表格。在sql中加入查询选择另一个表格

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

我想显示尚未进入stock_invoi库存数据ce表。然后我写的查询,如下所示

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

+0

为什么e'Stock'和'Barang'表中的'stock_id'和'barang_id'? (对不起,我不知道“巴朗”这个词)。 – toonice

回答

0

您需要加入第三个表

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 
0

试试这个: -

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 
0

您需要三方加入,

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