2017-10-05 9 views
-1

Mysqlでは、列の値を変数に渡す方法を探しています。次に、別のクエリでテーブル名として変数を使用します...以下は、そのMsSQLのバージョンは、私に相当するMySQLを見つけるのを助けてください。MySQLの変数として列の値を渡す

declare @tblname1 varchar(400) 
set @tblname1=(SELECT companyname from companies where id=5) 
exec(' SELECT sh.streetname FROM '[email protected]+' sh WHERE sh.id IN (SELECT id from allstreets)')` ` 

答えて

0

次を見てみましょう:あなたの質問に基づいて、私は会社テーブル内の各会社名用のテーブルを作成することが貧弱なデザインとできるだけであると言わなければならない、またhttps://dev.mysql.com/doc/refman/5.7/en/sql-syntax-prepared-statements.html

set @tblname1=(SELECT companyname from companies where id=5); 
PREPARE stmt1 FROM CONCAT('SELECT sh.streetname FROM ', @tblname1, ' sh WHERE sh.id IN (SELECT id from allstreets)'); 
EXECUTE stmt1; 
DEALLOCATE PREPARE stmt1; 

を欲求不満と失望を招く。

関連する問題