2017-05-06 8 views
0

私はPythonでsqliteを使用して2つのテーブルを作成しました。私のコードが正しい場合は誰も値を取得する方法を知っています。テーブルを作るコードは以下の通りで、何も返さない値を得るためのコードです。sqliteを使用して2つのテーブルから値を取得する方法

c.execute("SELECT value AND wage FROM classes, yourplayers WHERE Firstname=? AND Secondname=?", (self.Seller_Firstname, self.Seller_Lastname)) 


c.execute("CREATE TABLE IF NOT EXISTS classes(class INT NOT NULL, wage INT NOT NULL, value INT NOT NULL)") 
c.execute("INSERT INTO classes(class, wage, value) VALUES (1, 1000, 5000000)") 
c.execute("INSERT INTO classes(class, wage, value) VALUES (2, 5000, 1000000)") 
c.execute("INSERT INTO classes(class, wage, value) VALUES (3, 10000, 15000000)") 
c.execute("INSERT INTO classes(class, wage, value) VALUES (4, 25000, 20000000)") 
c.execute("INSERT INTO classes(class, wage, value) VALUES (5, 50000, 25000000)") 
c.execute("INSERT INTO classes(class, wage, value) VALUES (6, 100000, 35000000)") 
c.execute("INSERT INTO classes(class, wage, value) VALUES (7, 150000, 50000000)") 
c.execute("INSERT INTO classes(class, wage, value) VALUES (8, 225000, 80000000)") 
c.execute("SELECT * FROM classes") 
conn.commit() 
print(c.fetchall()) 

c.execute('DROP TABLE IF EXISTS yourplayers') 
c.execute('CREATE TABLE yourplayers(PlayerId INT PRIMARY KEY NOT NULL, Firstname VARCHAR(10) NOT NULL, Secondname VARCHAR(10) NOT NULL, contract INT NOT NULL, rating INT NOT NULL, class INT NOT NULL, morale INT NOT NULL, FOREIGN KEY (class) REFERENCES classes(class))') 
x = 1 
for x in range(20): 
    FN = open("firstnames", "r") 
    FNames = FN.read() 
    listF = FNames.split('\n') 
    y = randint(0,55) 
    N1 = listF[y] 
    N1 = str(N1) 
    SN = open("lastnames", "r") 
    SNames = SN.read() 
    listS = SNames.split('\n') 
    z = randint(0, 9) 
    N2 = listS[z] 
    N2 = str(N2) 
    c.execute("INSERT INTO yourplayers(PlayerId, Firstname, Secondname, contract, rating, class, morale) VALUES (? , ?, ?, 2, 55, 1, 55)", 
       (x, N1, N2)) 
    x = x+1 
c.execute('SELECT * FROM yourplayers') 
conn.commit() 

各段落は別々の機能であるが、IVEは無関係コード

答えて

1

foreign key constraintを除去、すなわち、それが制約に違反するデータを挿入できなく、単に制約です。

外部キー制約はクエリに影響しません。私は意志私は、外部キーはそれをすべてを可能にしたという印象の下にあった物事をクリアしますが、あなたの答えに感謝

SELECT value, wage  -- no AND here 
FROM classes 
JOIN yourplayers USING (class) 
WHERE Firstname=? 
    AND Secondname=?; 
+0

[OK]を感謝:あなたはこれらの値によってテーブルを結合したい場合、あなたはまだ参加を記述する必要があります参加する。 – maxpepsi

関連する問題