从另一个表中获取价值

时间:2014-03-12 20:20:37

标签: mysql sql

我有2张这样的表:

表1     doc_id(1)     doc_folder(1010)     doc_title(发票2020)

表2     file_id(1)     file_doc_id(1)     file_name(invoice.pdf)

现在,我执行查询以获取所有标题:

    SELECT * FROM Table1
    WHERE doc_folder='1010'

我想从Table2获取文件名,结果如下:

FOLDER | TITLE     | FILE NAME 
1010     invoice     invoice.pdf

如何从Table2获取文件名

TKS ALL

3 个答案:

答案 0 :(得分:1)

select table1.*, table2.file_name from table1
inner join table2 on table2.file_doc_id = table1.doc_id
where table1.doc_folder='1010'

如果您不需要从table. doc_folder, table.doc_title

获取所有列,则可以使用table1.*代替table1

答案 1 :(得分:0)

SELECT Table1.*, Table2.file_id, Table2.file_name
FROM            Table1 INNER JOIN
                     Table2 ON Table1.doc_id = Table2.file_doc_id
WHERE        (Table1.doc_folder = '1010')

答案 2 :(得分:0)

SELECT * FROM Table1 
JOIN Table2 ON file_doc_id = doc_id
WHERE doc_folder='1010'

在这种情况下,表名不必加前缀,因为所有列都有不同的名称。但是,添加它们被认为是一种好习惯,它们看起来就是这样的:

SELECT * FROM Table1 t1
JOIN Table2 t2 ON t2.file_doc_id = t1.doc_id
WHERE t1.doc_folder='1010'