2016-04-24 35 views
1

突然間我面臨這個問題。我想將數據傳遞給子查詢,但它顯示一些錯誤。有我的代碼。SQL子查詢傳遞數據

SELECT transaction.TrnID as NeedTopass 
FROM transaction 
WHERE `Creditor` = '130' AND 
(SELECT meta.MetaValue FROM meta WHERE meta.Parent = NeedTopass) = '505' 

但它顯示此錯誤。

在 'where子句'

回答

1

連接是你的朋友未知列 'NeedTopass':

注:您只需引用字符串。如果 '505' 的一些公司沒有必要

SELECT transaction.TrnID as NeedTopass 
FROM transaction t 
LEFT join meta m ON m.Parent = t.TrnID 
WHERE `Creditor` = '130' 
AND m.MetaValue = '505'; 
+0

由於在此之前的象徵。讓我試試看。 –

+0

對不起,沒有工作:( 「字段列表」中的未知列'transaction.TrnID' –

+0

將其更改爲SELECT t.TrnID作爲NeedTopass或SELECT t。*作爲NeedTopass查看事務中的所有字段 –

0

使用``交易

SELECT `transaction`.`TrnID`,`meta`.`MetaValue` 
FROM `transaction` LEFT JOIN `meta` ON(`meta`.`Parent`=`transaction`.`TrnID`) 
WHERE `Creditor` = '130' AND `meta`.`MetaValue`='505'