0

私はしばらくの間、このクエリに取り組んできました。ここにあります:

select First10.mal, Last10.family_name,
(select * from gender2
JOIN
(select * from status) as Mix1
JOIN
(select * from age as Mix2 order by rand() limit 10) as Mix3
JOIN
(select incidentid from incidentid2 as Mix4)
as Mix5 where data='mal' and incidentid='6' and status IN ('inj','ali') and age IN ('NULL','0-17') 
order by rand() limit 100)
from ( select fn.mal, @fns := @fns + 1 as Sequence
from ( select mal from fnames where mal IS NOT NULL order by rand() limit 100) fn,
(select @fns := 0 ) vars ) First10
JOIN
( select ln.family_name, @lns := @lns + 1 as Sequence
from ( select family_name from lastnames order by rand() limit 100 ) ln,
(select @lns := 0 ) vars ) Last10
ON First10.Sequence = Last10.Sequence;

ここでの私の目標は、ランダム化された名、姓、性別、ステータス、年齢、およびインシデントIDを表示するテーブルに挿入することです。selectステートメントを分離するなど、このスクリプトを作り直す多くの方法を試しましたが、常にこのエラーが発生するようです。

エラー1241(21000):オペランドには1つの列が含まれている必要があります

みんなにアドバイスしてください、これはしばらくの間私にストレスを与えています...それはおそらく非常に単純な答えですが、私はさらに自分自身を混乱させています。説明が必要な場合は、質問してください。

4

1 に答える 1

0

さて、ぐっすり眠り、友人の助けを借りて、このクエリが機能するようになりました。同様の質問に対する答えを探している人のために、これを機能させる方法を次に示します。

select mal,family_name,data,age,status,incidentid
from ( select fn.mal, @fns := @fns + 1 as Sequence
from ( select mal from fnames where mal IS NOT NULL order by rand() limit 100) fn,
(select @fns := 0 ) vars ) as FN
INNER JOIN
(select ln.family_name, @lns := @lns + 1 as Sequence
from ( select family_name from lastnames order by rand() limit 100 ) ln,
(select @lns := 0 ) vars ) as LN
INNER JOIN
(select * from gender2) as Mix0
INNER JOIN
(select * from status) as Mix1
INNER JOIN
(select * from age as Mix2 order by rand() limit 3) as Mix3
INNER JOIN
(select incidentid from incidentid2 as Mix4)
as Mix5 where data='mal' and incidentid='6' and status IN ('inj','ali') and age IN ('NULL','0-17') 
order by rand() limit 100;
于 2011-07-15T12:13:48.857 に答える