私は実際に私に非常に多くの悲しみを引き起こしている面白い問題があります。何百行ものデータを別のテーブルのデータと比較する
私は2つのテーブルがメイクアップで同じです。 1つのテーブルは抽選で勝利した宝くじ番号を保持し、もう1つのテーブルはその抽選のために500個のランダムに生成された「チケット」を保持する。
私は、500個のチケットのうちどれが3個の一致する番号、4個の一致する番号、5個の一致する番号、そしてもちろん6個の一致する番号を持っているかを教えてくれるコードを書こうとしています。
両方のテーブルのテーブル構造は
ID、playDate、NUM1、NUM2、NUM3、num4、num5、num6あります。
ここに私がいる場所があります。誰もが何も言わないうちにこれが正しいとは限りません。本当にここに苦労:
SELECT count(*) AS c, w.*, l.*
FROM winningNums AS w, lottoNums AS l
WHERE w.playDate = "2016-10-10"
AND l.playDate = "2016-10-10"
AND l.num1 (
w.num1, w.num2, w.num3, w.num4, w.num5, w.num6
)
を私もこの周り
SELECT *
FROM winningNums AS w
INNER JOIN lottoNums AS l
ON w.playDate = l.playDate
AND w.num1 = l.num1
AND w.num2 = l.num2
AND w.num3 = l.num3
AND w.num4 = l.num4
AND w.num5 = l.num5
AND w.num6 = l.num6
私が直面しています主な問題は、3試合の勝利はNUM1から来る可能性があることです、NUM3のようなものを打撃、とされてきましたnum2、num5、num6(当選番号からの)と一致するnum4(チケットから)。
あなたのデータではなく2列playDateとlottoNumbrerは各playDateのための6行を持っている正規化します。あなたの参加は簡単です。 – Niagaradad
@ Niagaradadと合意 - これはデータ正規化の古典的な例です。 –
私はあなたが何を意味するかは分かりませんが、少なくともそれはリードです。正しい方向に私を指してくれてありがとう。私は正規化の研究に行きます。以前はそれを見ていませんでした。 –