一時テーブルを使用してクエリに必要な値を格納しようとしています。一時テーブルを使用する理由は、データを永続的に保存したくないため、異なるユーザーが同時にデータを変更できるからです。そのデータはちょうど2秒間保存されるので、私は一時テーブルがこのための最良のアプローチだと思います。MySql:一時テーブルを使用しているときの問題
私はそれを使用しようとしている方法が正しいとは限りません(永久的なものを使用するとクエリが機能します)。
これは、クエリの例です:
CREATE TEMPORARY TABLE SearchMatches (PatternID int not null primary key, Matches int not null)
INSERT INTO SearchMatches (PatternID, Matches)
VALUES ('12605','1'),('12503','1'),('12587','2'),('12456','1'),
('12457','2'),('12486','2'),('12704','1'),(' 12686','1'),
('12531','2'),('12549','1'),('12604','1'),('12504','1'),
('12586','1'),('12548','1'),('12 530','1'),('12687','2'),
('12485','1'),('12705','1')
SELECT pat.id, signatures.signature, products.product, versions.version, builds.build, pat.log_file, sig_types.sig_type, pat.notes, pat.kb
FROM patterns AS pat
INNER JOIN signatures ON pat.signature = signatures.id
INNER JOIN products ON pat.product = products.id
INNER JOIN versions ON pat.version = versions.id
INNER JOIN builds ON pat.build = builds.id
INNER JOIN sig_types ON pat.sig_type = sig_types.id, SearchMatches AS sm
INNER JOIN patterns ON patterns.id = sm.PatternID
WHERE sm.Matches <> 0
ORDER BY sm.Matches DESC, products.product, versions.version, builds.build
LIMIT 0 , 50
任意の提案?
ありがとうございました。
どのくらい正確に失敗しますか? – chaos
そのクエリを実行しようとすると、エラーメッセージはありますか? – Brandon
また、投稿を再フォーマットして、クエリを読みやすくしてください。 – Brandon