我已经在这个问题上工作了3个月,然后放弃了一两次。是的,我是新手。我用数据创建了3个表。表1有一个字母和数字。表2有一个名称,字母和数字。表3有最终结果。我想比较T1和T2。如果T1中的名称和编号与表2中的名称和编号匹配,我希望T3中的结果包括姓名,字母和数字。这是我到目前为止所做的,但它不起作用。
SELECT * FROM T1 and SELECT * FROM T2
WHEN
TABLE T1(letter) && TABLE T2(letter)
AND
TABLE T1(number) && TABLE T2(letter)
INSERT INTO TABLE T3 (name,letter,number)
答案 0 :(得分:1)
您需要的是根据属性名称和字母对第一个和第二个表进行内部联接。
SELECT T2.name, T2.letter, T2.number
FROM T1
INNER JOIN T2
ON T1.letter=T2.letter AND T1.number=T2.number;
答案 1 :(得分:0)
扩展Dinesh的答案,
你需要一个内部联接。内部联接为您提供与您指定的两个表中的列匹配的行。
然后,您可以将其组合到insert语句中,以将其放入T3表中。所以这是一个完整的SQL语句:
INSERT INTO T3
SELECT T2.name, T2.letter, T2.number
FROM T2
INNER JOIN T1
ON T2.letter = T1.letter
AND T2.number = T1.number;
作为旁注,还有左连接和右连接(并且更多)。将左,内,右连接想象为维恩图中的两个圆。