簡體   English   中英

用INNER JOIN查詢

[英]query with INNER JOIN

這些表已創建並插入了一些數據,我試圖借助JOIN INNER來從到達arrivaltimes獲取route ,但是我什么也沒回來,我已經嘗試將時間調整為當前時間到達時間表,但是結果始終為空。 我沒有任何錯誤。 我的查詢有問題嗎?

    CREATE TABLE IF NOT EXISTS stops
                        (stop_id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, 
                         name varchar(30) NOT NULL,
                         lat double(10,6) NOT NULL, 
                        longi double(10,6)NOT NULL)

CREATE TABLE IF NOT EXISTS arrivaltimes
  (arrivaltimes_id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
  weekday VARCHAR(20) NOT NULL,
  route INT(11) NOT NULL, 
  arrivaltime time NOT NULL,
   stop_id INT, FOREIGN KEY fk_stop_id(stop_id) REFERENCES stops(stop_id) )


SELECT route from arrivaltimes INNER JOIN stops ON  arrivaltimes.stop_id=stops.stop_id where arrivaltime = now()

在此處輸入圖片說明

arrivaltime time數據類型為time ,其格式為H:i:s

在where子句中,您使用now() ,其格式為Ymd H:i:s

您需要為此使用curtime函數。

mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2015-05-10 23:46:44 |
+---------------------+
1 row in set (0.00 sec)

mysql> select curtime();
+-----------+
| curtime() |
+-----------+
| 23:46:53  |
+-----------+
1 row in set (0.00 sec)


where arrivaltime = curtime()

您的查詢非常好,問題只在於您提供的輸入時間。

TIME數據類型的格式為'HH:MM:SS',因此使用time(now())可以給您適當的結果。

mysql>選擇時間(now());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM