用许多SQL表填充DataTable,并添加一个新列,以了解来自哪个表

用许多SQL表填充DataTable,并添加一个新列,以了解来自哪个表,sql,vb.net,datatable,Sql,Vb.net,Datatable,我正在使用vb.net,我需要查询4个SQL表,并将输出写入DataTable。 因此,我正在这样做(示例中有两个表),效果很好: If CBbf.Checked = True Then pgCommand.CommandText = "Select * FROM ""bf"" WHERE LOWER(""devname"") Like LOWER('" & TBname.Text & "%')" sda = New NpgsqlDataA

我正在使用vb.net,我需要查询4个SQL表,并将输出写入DataTable。 因此,我正在这样做(示例中有两个表),效果很好:

    If CBbf.Checked = True Then
        pgCommand.CommandText = "Select * FROM ""bf"" WHERE LOWER(""devname"") Like LOWER('" & TBname.Text & "%')"
        sda = New NpgsqlDataAdapter(pgCommand)
        sda.Fill(dtRecord)
    End If

    If CBhp.Checked = True Then
        pgCommand.CommandText = "Select * FROM ""hp"" WHERE LOWER(""devname"") Like LOWER('" & TBname.Text & "%')"
        sda = New NpgsqlDataAdapter(pgCommand)
        sda.Fill(dtRecord)
    End If
现在,我想在每个查询上添加一列,以便知道输出来自哪个查询

e、 g:

因此,我想知道如何添加“from”列,并根据我正在执行的查询填充值


谢谢大家!

在您的
选择中添加包含表名的列:

Select bf.*, 'bf' as table_name FROM ""bf"" bf WHERE LOWER(""devname"") Like LOWER('" & TBname.Text & "%')

考虑使用UNION ALL组合到单个查询