2016-04-24 7 views
1

突然、私はこの問題に直面します。私はサブクエリにデータを渡したいが、それは何らかのエラーを示している。私のコードがあります。SQLサブクエリ・パス・データ

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

しかし、このエラーが表示されています。

不明な列 'NeedTopassに' 'WHERE句'

答えて

1

が参加する中で、あなたの友人です:

注:あなただけの文字列を引用符で囲む必要があります。 '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

NeedtopassとしてSELECT t.TrnIDに変更するか、トランザクションのすべてのフィールドを表示するにはNeedTopassとして選択してください –

0

使用 ``トランザクション

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