2011-08-08 8 views
0

このMySQLのクエリ-:私は、MySQLのthis Developer Pageにmysqlfを発見したいくつかのグーグル後`IN`が許可されていないように見えるようにMySQLクエリをどのように言い換えるか?

Error Code: 1235. This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery' 

SELECT * FROM table_1 t_1 
WHERE t_1.title_search IN 
(
    SELECT title_search FROM t_2 limit 1, 10 
); 

は、このエラーを生成します。私は、この形式のクエリはサポートされていないことを理解しています。これを言い換える方法はありますか?

+0

t_2には何らかのIDがありますか? – Dalen

+0

クエリの実際の目的は何ですか? 'title_search'から10個の完全にランダムな行を選択し、関連するtable_1行を取得したいですか?ダムダウンされた質問はダムの答えを得る。 –

+0

@Dalen、それは 't_2.id'というプライマリカラムです。 – Aufwind

答えて

1
SELECT t_1.* 
FROM table_1 t_1, table_2 t_2 
WHERE t_1.title_search = t_2.title_search 
limit 1,10; 

あなたがのために制限を使用している場合は、ウェブページングを言う、あなたはIN句からの結果を制限するための制限を使用しているが(あなたが実際にだけしたいならば、制限は、最後の句がベストですT_2テーブルの最初の10レコードで一致した場合)、上記は正しくありません。

+0

ほとんどの場合、第2の 'title_search'がどこから来ているのかを指定してください。 –

+0

あなたは最初の質問からtable_2についてはわかりませんが、あなたはテーブルに名前を付けませんでしたが、別名" t_2 " 。私はテーブルを追加し、あなたが使用することを意図した別名を使用しました。 –

+0

頭を上げて、私は「尋ね者」(SO = tackOverflowのOPとも呼ばれる)ではない。私はただの有権者投票者です。 –

関連する問題