簡體   English   中英

子查詢中包含 INNER JOIN 的未知列

[英]Unknown Column in subquery where contain INNER JOIN

我有 3 個表:

  1. b2表

b2表

  1. tb_stok 表tb_stok 表

  2. tb_barang 表tb_barang 表

我打算在 tb_stok 表中顯示 transaction_id 列,旁邊還有一個名為 id_transaction 的列,其中包含數字序列 1、2、3 等等。 我試過這個 sql 代碼並設法生成了一個這樣的表:

SELECT @n := @n +1 id_transaksi, transaksi_id as kode_transaksi 
         FROM tb_stok, (SELECT @n := 0) m  
         WHERE tb_stok.tgl BETWEEN CAST('2018-01-07' AS DATE) AND
               CAST('2018-01-08' AS DATE)

子查詢表

然后我打算使用這樣的子查詢顯示上面代碼的 result_transaction 中引用的 b2 的 nama_b2:

SELECT b2.nama_b2 AS nama_barang 
FROM tb_stok INNER JOIN 
     tb_barang 
     ON tb_stok.kode_barang = tb_barang.kode_barang JOIN 
     b2 
     ON tb_barang.b2 = b2.b2_id 
WHERE tb_stok.id_transaksi='1' IN 
        (SELECT @n := @n +1 id_transaksi, transaksi_id as kode_transaksi 
         FROM tb_stok, (SELECT @n := 0) m  
         WHERE tb_stok.tgl BETWEEN CAST('2018-01-07' AS DATE) AND
               CAST('2018-01-08' AS DATE)
        )

我收到錯誤

1054 - “where 子句”中的未知列“tb_stok.kode_transaksi”

什么是正確的代碼?

我認為這可以滿足您的需求:

SELECT b2.nama_b2 AS nama_barang 
FROM tb_stok INNER JOIN 
     tb_barang 
     ON tb_stok.kode_barang = tb_barang.kode_barang JOIN 
     b2 
     ON tb_barang.b2 = b2.b2_id 
WHERE tb_stok.id_transaksi  ='1' AND
      tb_stok.id_transaksi IN  
        (SELECT s2.transaksi_id
         FROM tb_stok s2 
         WHERE s2.tgl BETWEEN '2018-01-07'AND '2018-01-08' 
        )

暫無
暫無

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

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