为什么我的 SQL 语句在我从日期选择器指定输出日期之前将数据显示到 table
Why does my SQL Statement Display data into a table before I specify the output date from the date-picker
我有一个问题,我刚才正试图解决这个问题。
我有一个 table 显示禁止访问的公司名称和郊区。
因此,我在单个 SQL 查询中使用 2 select 语句来获取我想要的输出。我可以从 table 我 select 日期选择器的日期范围中看到我的数据。
现在我的问题是:我不想看到数据自动填充到 table 中。
每当我转到该页面时,table 中已经显示了数据,而无需我 select 从日期选择器中输入日期。
有办法解决这个问题吗?
请指教
这是我的 SQL 声明,我认为这是问题所在,但我不知道如何解决。
SELECT Name, Suburb
FROM Client_table, user
WHERE Client_Id NOT IN
(SELECT Distinct client_fk AS callesmade FROM Visits_table
WHERE Start_Date >= '".$Fdate."')
AND
Branch = area
AND username = '".$_SESSION["username"]."'
ORDER BY Suburb, Name"
我的SQL声明有什么问题?
请大家帮忙!
谢谢
可能是旧的 NOT IN 问题...当心来自子 select 的 NULL,因为如果您有任何 NOT IN 将为假,并且您的查询将 return 0 行.
例如,您可以改用 NOT EXISTS:
SELECT Name, Suburb
FROM Client_table, user
WHERE Client_Id NOT IN (SELECT client_fk
FROM Visits_table
WHERE client_fk = Client_Id AND Start_Date >= '".$Fdate."')
AND Branch = area AND username = '".$_SESSION["username"]."'
ORDER BY Suburb, Name"
或者确保没有 client_fk 为空:
SELECT Name, Suburb
FROM Client_table, user
WHERE Client_Id NOT IN (SELECT client_fk
FROM Visits_table
WHERE client_fk IS NOT NULL
and Start_Date >= '".$Fdate."')
AND Branch = area
AND username = '".$_SESSION["username"]."'
ORDER BY Suburb, Name
如果您希望在第一次加载页面或刷新时 table 应该加载空白,那么您可以使用此条件
if(isset($Fdate) && $Fdate !='')
{
SELECT Name, Suburb FROM Client_table, user WHERE Client_Id NOT IN (SELECT Distinct client_fk AS callesmade FROM Visits_table WHERE Start_Date >= '".$Fdate."') AND Branch = area AND username = '".$_SESSION["username"]."' ORDER BY Suburb, Name"
}
此条件将检查用户是否有 select 来自日期选择器的日期,然后它会触发查询。
我有一个问题,我刚才正试图解决这个问题。 我有一个 table 显示禁止访问的公司名称和郊区。 因此,我在单个 SQL 查询中使用 2 select 语句来获取我想要的输出。我可以从 table 我 select 日期选择器的日期范围中看到我的数据。
现在我的问题是:我不想看到数据自动填充到 table 中。 每当我转到该页面时,table 中已经显示了数据,而无需我 select 从日期选择器中输入日期。
有办法解决这个问题吗? 请指教
这是我的 SQL 声明,我认为这是问题所在,但我不知道如何解决。
SELECT Name, Suburb
FROM Client_table, user
WHERE Client_Id NOT IN
(SELECT Distinct client_fk AS callesmade FROM Visits_table
WHERE Start_Date >= '".$Fdate."')
AND
Branch = area
AND username = '".$_SESSION["username"]."'
ORDER BY Suburb, Name"
我的SQL声明有什么问题?
请大家帮忙!
谢谢
可能是旧的 NOT IN 问题...当心来自子 select 的 NULL,因为如果您有任何 NOT IN 将为假,并且您的查询将 return 0 行.
例如,您可以改用 NOT EXISTS:
SELECT Name, Suburb
FROM Client_table, user
WHERE Client_Id NOT IN (SELECT client_fk
FROM Visits_table
WHERE client_fk = Client_Id AND Start_Date >= '".$Fdate."')
AND Branch = area AND username = '".$_SESSION["username"]."'
ORDER BY Suburb, Name"
或者确保没有 client_fk 为空:
SELECT Name, Suburb
FROM Client_table, user
WHERE Client_Id NOT IN (SELECT client_fk
FROM Visits_table
WHERE client_fk IS NOT NULL
and Start_Date >= '".$Fdate."')
AND Branch = area
AND username = '".$_SESSION["username"]."'
ORDER BY Suburb, Name
如果您希望在第一次加载页面或刷新时 table 应该加载空白,那么您可以使用此条件
if(isset($Fdate) && $Fdate !='')
{
SELECT Name, Suburb FROM Client_table, user WHERE Client_Id NOT IN (SELECT Distinct client_fk AS callesmade FROM Visits_table WHERE Start_Date >= '".$Fdate."') AND Branch = area AND username = '".$_SESSION["username"]."' ORDER BY Suburb, Name"
}
此条件将检查用户是否有 select 来自日期选择器的日期,然后它会触发查询。