我在想是否有一个可以一次选择多个表的查询?不使用JOINS
。我尝试研究它,但我得到的只是
SELECT * FROM Table WHERE ID IN (parameter1,parameter2);
我尝试过这种查询
select * from Table Table1,Table2
但结果仅来自Table1。
所有的表都不是彼此的关系所以它意味着它们与每个表都是不同的表。我在这里要做的是,如果有数据,我会检查表格。我使用的是使用
查询所有one-by-one
select * from Table
一次又一次。希望这能解释它。
答案 0 :(得分:1)
UNION
要允许重复值,请使用:
UNION ALL
SELECT * FROM table1
UNION
SELECT * FROM table2
的数据集
DataSet dataSet = new DataSet();
DataTable table1 = new DataTable("table1");
DataTable table2 = new DataTable("table2");
dataSet.Tables.Add(table1);
dataSet.Tables.Add(table2);
using(SqlCommand cmd = new SqlCommand("SELECT * FROM table1;SELECT * from table2", con))
{
using(SqlDataReader dr = cmd.ExecuteReader())
{
dataSet.Load(dr, LoadOption.OverwriteChanges, table1, table2);
}
}
现在您可以像这样使用DataSet的表(msdn documentation):
private void PrintRows(DataSet dataSet)
{
// For each table in the DataSet, print the row values.
foreach(DataTable table in dataSet.Tables)
{
foreach(DataRow row in table.Rows)
{
foreach (DataColumn column in table.Columns)
{
Console.WriteLine(row[column]);
}
}
}
}
答案 1 :(得分:0)
查看SQL命令UNION
。然后你可以做类似的事情
SELECT * FROM table1
UNION
SELECT * FROM table2;