我有以下两个表
trigger_keyword表
0 0 0 0 0 0 2
0 0 0 0 0 2 1
2 1 0 2 2 1 2
2 1 0 1 1 2 2
1 1 2 2 2 1 2
1 1 1 2 1 2 1
trigger_message表
file1=open("file1.txt","r")
matrix=[]
for line in file1:
connect=line.split(" ")
matrix.append(connect)
print(matrix)
if matrix[0][0]==matrix[0][1]==matrix[0][2]==matrix[0][3]: #this is only temporary, supposed to check for every element
if matrix[0][0]==1:
print("player 1 wins!")
elif matrix[0][0]==2:
print("player 2 wins!")
else:
print("no winner")
if matrix[0][0]==matrix[1][0]==matrix[2][0]==matrix[0][0]: #check for vertical matches
if matrix[0][0]==1:
print("player 1 wins!")
elif matrix[0][0]==2:
print("player 2 wins!")
else:
print("no winner")
我有以下测试数据
trigger_keyword表
CREATE TABLE trigger_keyword
(
id bigint NOT NULL,
keyword_array text[],
CONSTRAINT trigger_keyword_id PRIMARY KEY (id)
)
trigger_message表
CREATE TABLE trigger_message
(
id bigint NOT NULL,
message text NOT NULL,
trigger_keyword_id bigint,
CONSTRAINT trigger_message_id PRIMARY KEY (id)
)
如果id keyword_array
-----------------------------------------------------
1 {weather, climate}
中的关键字列为id message trigger_keyword_id
-----------------------------------------------------
1 yes, the weather is good 1
2 expect rain 1
3 partly cloudy 1
,则以下查询将按预期方式工作,但如果列为trigger_keyword
,则该查询不起作用
text
如何修改上面的查询以使用文本数组而不是文本?
使用文本数组,我可以轻松添加更多关键字,在这种情况下,“告诉我气候”也将返回trigger_message表中的行
我知道推荐的方法是使用桥表,但是对其进行编辑和匹配会变得很麻烦,所以我想改用数组。