2017-07-18 13 views
0

上記のように、管理者/ phpmyadminで動作していてもSQLクエリーは.netプロジェクトでは機能しません。それはかなり奇妙です。ここでは、コードです:SQLクエリーは.netプロジェクトでは機能しませんが、管理者/ phpmyadminで正しく実行されます

SELECT mh.id AS `id`, 
    IFNULL(ot.name, it.name) AS name, 
    IFNULL(ot.name_en, it.name_en) AS name_en 
FROM udata.table1 mh 
    INNER JOIN udata.table2 i ON mh.id= i.id 
    INNER JOIN adata.table3 it ON i.type = it.id 
    LEFT JOIN adata.table4 ot ON i.arg1 = ot.id AND i.kind = 46 
WHERE mh.status = '1' HAVING (`name_en` LIKE '%A%') LIMIT 0,30; 

Adminerは私に私のC#プロジェクトでクエリをruningて異なる2の結果を提供します。私はこのエラーを得た:

MySql.Data.MySqlClient.MySqlException (0x80004005): Unknown column 'name_en' in 'having clause' 

ではなく、あなたが直接の列を使用する必要があり、

+0

であるべき私達にあなたのC#コードをご提示ください。 – mjwills

答えて

0

句は、クエリの別名を使用することはできません任意の助けを事前にありがとうございます。だから、

HAVING (`name_en` LIKE '%A%') 

HAVING (IFNULL(ot.name_en, it.name_en) LIKE '%A%') 
+0

エラーは次のようになります。 'MySql.Data.MySqlClient.MySqlException(0x80004005): 'having clause'の 'ot.name_en'列が不明です – kml

関連する問題