Неизвестный столбец в подзапросе, где содержится INNER JOIN - PullRequest
0 голосов
/ 24 января 2020

У меня есть 3 таблицы:

  1. Таблица b2

b2 table

таблица tb_stok tb_stok table

таблица tb_barang tb_barang table

Я намереваюсь отобразить столбецaction_id в таблице tb_stok с еще одним столбцом рядом с ним, называемым 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)

subquery table

, тогда я намереваюсь отобразить nama_b2 из b2 упоминается в result_transaction приведенного выше кода с использованием такого подзапроса, как этот:

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 - Неизвестный столбец 'tb_stok.kode_transaksi' в 'where clause'

какой код правильный?

1 Ответ

0 голосов
/ 24 января 2020

Я думаю, что это то, что вы хотите:

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' 
        )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...