SQL 子查询传数据

SQL Sub-query pass Data

突然遇到这个问题。我想将数据传递给子查询,但它显示了一些错误。有我的代码。

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

但是显示这个错误。

Unknown column 'NeedTopass' in 'where clause'

加入是你的朋友:

注意:您只需要引用字符串。如果“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';

在交易前使用``这个符号

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