您好我试图了解如何从SELECT语句中排除列, 我加入了两张桌子。
第一张表:
|--ID--|--Name--|--Date 1--|--Date 2--|
第二张表:
|--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"
答案 0 :(得分:1)
只需枚举您要显示的字段,而不是放*,这意味着&#34;所有字段&#34;:
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关键字。
答案 1 :(得分:1)
使用Select HelperEmpEarns.*
将返回表中的所有列名。这通常不被认为是一种良好的开发实践。
一种更受欢迎的方法是仅返回您需要的列Select HelperEmpEarns.Col1Name, HelperEmpEarns.Col2Name...
这有几个好处:
所以,改变它:
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"
答案 2 :(得分:1)
您可以使您的选择语句更具体,并删除通配符*
SELECT firstTable.Name, SecondTable.Tax, SecondTable.Total
...
有关SELECT语句的更多信息,请查看w3schools SQL SELECT Statement。
答案 3 :(得分:0)
仅select
只需要列而不是所有(*)
SELECT HelperEmpEarns.Name, HelperEmpDed.Tax,HelperEmpDed.Total
from..
答案 4 :(得分:0)
SELECT firsttable.name,secondtable.tax,secondtable.total
FROM firsttable
JOIN secondtable using(ID);