从 SELECT 语句中排除列
Excluding Columns From SELECT Statement
你好,我想知道如何从 SELECT 语句中排除列,
我加入了 2 个表。
第一个Table:
|--ID--|--Name--|--Date 1--|--Date 2--|
第二个Table:
|--ID--|--Tax--|--Total--|
输出:
|--ID--|--Name--|--Date 1--|--Date 2--|--ID--|--Tax--|--Total--|
这是我想要的输出:
|--Name--|--Tax--|--Total|
这是我的代码:
Dim loadq As String =
"SELECT HelperEmpEarns.*, HelperEmpDed.*" & _
"FROM (HelperEmpEarns RIGHT JOIN HelperEmpDed ON HelperEmpEarns.EmpPID = HelperEmpDed.EmpPID) " & _
"WHERE [Position] LIKE '%Helper%' AND [Pday1] >= # " & MetroDateTime1.Value.ToShortDateString & "# AND [Pday2] <= # " & MetroDateTime2.Value.ToShortDateString & "# AND HelperEmpEarns.EmpPID = HelperEmpDed.EmpPID"
只枚举你要显示的字段,不要放*,表示"all fields":
Dim loadq As String =
"SELECT HelperEmpEarns.[Name], HelperEmpDed.Tax, HelperEmpDed.Total" & _
"FROM (HelperEmpEarns RIGHT JOIN HelperEmpDed ON HelperEmpEarns.EmpPID = HelperEmpDed.EmpPID) " & _
"WHERE [Position] LIKE '%Helper%' AND [Pday1] >= # " & MetroDateTime1.Value.ToShortDateString & "# AND [Pday2] <= # " & MetroDateTime2.Value.ToShortDateString & "# AND HelperEmpEarns.EmpPID = HelperEmpDed.EmpPID"
我将 [Name] 放在方括号中,以帮助将其识别为字段名称而不是 SQL 关键字。
只select
只需要列而不是所有(*)
SELECT HelperEmpEarns.Name, HelperEmpDed.Tax,HelperEmpDed.Total
from..
使用 Select HelperEmpEarns.*
将 return 来自 table 的所有列名称。这通常不被认为是好的开发实践。
一种更受欢迎的方法是只取回您需要的列Select HelperEmpEarns.Col1Name, HelperEmpEarns.Col2Name...
这有几个优点:
- 如果有人更改数据库设计并添加或删除列,除非他们删除您需要的列之一,否则不会影响您的查询。
- 与 return 所有列相比,您的 return 数据集可能小得多。
所以,改成这样:
Dim loadq As String =
"SELECT HelperEmpEarns.Col1Name, HelperEmpEarns.Col2Name, HelperEmpEarns.Col3Name, " & _
"HelperEmpDed.Col1Name, HelperEmpDed.Col2Name" & _
"FROM (HelperEmpEarns RIGHT JOIN HelperEmpDed ON HelperEmpEarns.EmpPID = HelperEmpDed.EmpPID) " & _
"WHERE [Position] LIKE '%Helper%' AND [Pday1] >= # " & MetroDateTime1.Value.ToShortDateString & "# AND [Pday2] <= # " & MetroDateTime2.Value.ToShortDateString & "# AND HelperEmpEarns.EmpPID = HelperEmpDed.EmpPID"
您可以使 select 语句更具体并去掉通配符 *
SELECT firstTable.Name, SecondTable.Tax, SecondTable.Total
...
查看 w3schools SQL SELECT Statement 了解有关 SELECT 语句的更多信息。
SELECT firsttable.name,secondtable.tax,secondtable.total
FROM firsttable
JOIN secondtable using(ID);
你好,我想知道如何从 SELECT 语句中排除列, 我加入了 2 个表。
第一个Table:
|--ID--|--Name--|--Date 1--|--Date 2--|
第二个Table:
|--ID--|--Tax--|--Total--|
输出:
|--ID--|--Name--|--Date 1--|--Date 2--|--ID--|--Tax--|--Total--|
这是我想要的输出:
|--Name--|--Tax--|--Total|
这是我的代码:
Dim loadq As String =
"SELECT HelperEmpEarns.*, HelperEmpDed.*" & _
"FROM (HelperEmpEarns RIGHT JOIN HelperEmpDed ON HelperEmpEarns.EmpPID = HelperEmpDed.EmpPID) " & _
"WHERE [Position] LIKE '%Helper%' AND [Pday1] >= # " & MetroDateTime1.Value.ToShortDateString & "# AND [Pday2] <= # " & MetroDateTime2.Value.ToShortDateString & "# AND HelperEmpEarns.EmpPID = HelperEmpDed.EmpPID"
只枚举你要显示的字段,不要放*,表示"all fields":
Dim loadq As String =
"SELECT HelperEmpEarns.[Name], HelperEmpDed.Tax, HelperEmpDed.Total" & _
"FROM (HelperEmpEarns RIGHT JOIN HelperEmpDed ON HelperEmpEarns.EmpPID = HelperEmpDed.EmpPID) " & _
"WHERE [Position] LIKE '%Helper%' AND [Pday1] >= # " & MetroDateTime1.Value.ToShortDateString & "# AND [Pday2] <= # " & MetroDateTime2.Value.ToShortDateString & "# AND HelperEmpEarns.EmpPID = HelperEmpDed.EmpPID"
我将 [Name] 放在方括号中,以帮助将其识别为字段名称而不是 SQL 关键字。
只select
只需要列而不是所有(*)
SELECT HelperEmpEarns.Name, HelperEmpDed.Tax,HelperEmpDed.Total
from..
使用 Select HelperEmpEarns.*
将 return 来自 table 的所有列名称。这通常不被认为是好的开发实践。
一种更受欢迎的方法是只取回您需要的列Select HelperEmpEarns.Col1Name, HelperEmpEarns.Col2Name...
这有几个优点:
- 如果有人更改数据库设计并添加或删除列,除非他们删除您需要的列之一,否则不会影响您的查询。
- 与 return 所有列相比,您的 return 数据集可能小得多。
所以,改成这样:
Dim loadq As String =
"SELECT HelperEmpEarns.Col1Name, HelperEmpEarns.Col2Name, HelperEmpEarns.Col3Name, " & _
"HelperEmpDed.Col1Name, HelperEmpDed.Col2Name" & _
"FROM (HelperEmpEarns RIGHT JOIN HelperEmpDed ON HelperEmpEarns.EmpPID = HelperEmpDed.EmpPID) " & _
"WHERE [Position] LIKE '%Helper%' AND [Pday1] >= # " & MetroDateTime1.Value.ToShortDateString & "# AND [Pday2] <= # " & MetroDateTime2.Value.ToShortDateString & "# AND HelperEmpEarns.EmpPID = HelperEmpDed.EmpPID"
您可以使 select 语句更具体并去掉通配符 *
SELECT firstTable.Name, SecondTable.Tax, SecondTable.Total
...
查看 w3schools SQL SELECT Statement 了解有关 SELECT 语句的更多信息。
SELECT firsttable.name,secondtable.tax,secondtable.total
FROM firsttable
JOIN secondtable using(ID);