MySQL
は私にとって最も難しい言語だと思います.1年前にMySQLを学び始めましたが、私は何ができるのか、どのように私のクエリを構築できるのかまだ分かりませんここで尋ねることなくMySQL:@varsとサブクエリを使って作業する
私は私がこれをtryiedてきたどのように私ができる@vars
ので、見てみたいと思います単純なクエリがあります。
SELECT param_1, @param := param_2, @param
FROM my_table
結果は次のとおりです。それDosen't
param_1 @param := param_2 @param
Dave 3 [BLOB - 1B]
Mike 4 [BLOB - 2B]
Luke 2 [BLOB - 2B]
Bob 65 [BLOB - 2B]
Dean 6 [BLOB - 2B]
を@param
をparam_2と等しくする予定ですか?
param_1 @param := param_2 @param
Dave 3 3
Mike 4 4
Luke 2 2
Bob 65 65
Dean 6 6
[BLOB - 1B]
と[BLOB - 2B]
は何ですか?
時々私は複数の結果を持つことができ、特定のテーブルの結果ごとに1つだけの値を取得する必要があるとき、私はサブクエリを作るので、私はサブクエリを使用しますが、私はそれが正確にどのように動作するか分からない:
SELECT table_1.param_1, table_1.param_2, @param = table_1.param_3, new_table_2.param_1, new_table_2.param_2
FROM table_1
LEFT JOIN (SELECT *
FROM table_2
WHERE new_table_2.param_1 = @param
LIMIT 1
) new_table_2
ON new_table_2.param_1 = @param
WHERE table_1.param_2 = 33
私の質問は次のとおりです:
最初のクエリで[BLOB - 1B]
と[BLOB - 2B]
が得られるのはなぜですか?
@vars
をサブクエリに正しく渡す方法を教えてもらえますか?
サブクエリを使用する必要がある場合は、
基本的には、クエリのプロセスは何ですか、データが返される方法についての明確なガイドがありますか?
のためのユーザ定義の変数を必要と思わないのですか? –
私はこれを書いてテストしようとしましたが、それはひどく構造化されている可能性があることを知っています。サブクエリの良い例を見て修正する方法を理解したいと思います。 – vitto
http://dev.mysql.com/doc/refman/5.0/en/user-variables.html – ajreal