簡體   English   中英

MySQL查詢-從2個表中選擇數據並替換字段內容

[英]MySql Query - select data from 2 tables and replace contents of field

我正在嘗試完成一個sql查詢,盡管我發現解決了類似的問題,但我無法正常工作。

我有兩個表,訂單和汽車(還有更多字段,但這些是我遇到的麻煩:

table_cars
------------------
ID標題

1輛藍車
2紅車
3環保車

table_orders
-----------------
車輛類型

2
2
1個
3
1個
2

因此,我有以下代碼,但是我需要的是正確的內部聯接語法,以將車輛類型的輸出從ID替換為cars表中定義的標題,因此與其說“ 2”而不是“ red car” '

這是我選擇查詢的內容:

SELECT names, phone, cprice, vehicletype FROM table_orders 
WHERE driver_id = {$UserId}

結果已在driver_id中過濾。

在此先感謝您的幫助:)

- - - - - - - - - - - - - 繼續 - - - - - - - - - - - - ------------------------

抱歉,我確實做到了,我在表名后面缺少's'。您似乎很聰明,所以我要問另一個問題是否可以。 到目前為止,這是我的完整查詢,我知道這很亂! 我將再使用2個內部聯接將相同的解決方案應用於“狀態”和“付款”字段(我可以有3個嗎?),但是我的問題是在UNIXTIME字段上。

數據像1384380000一樣存儲在表中,因此我必須使用UNIXTIME進行格式化以獲取數據以顯示我想要的方式。 我想要的是'datetime2'字段有時會為空,所以我想返回一個空白字段或一個零(如果為空),因為當前它返回一個日期和時間,例如01/01/70 01:00: 00

SELECT s.names, s.phone, IF(s.returntrip=0, 'No', 'Yes'), s.cprice, s.prepay, s.selpassengers, tc.title AS Vehicle, s.selinfantseats, s.selchildseats, s.selboosterseats, s.selluggage, s.selcarry, s.PickupAddr1, s.PickupAddr4, FROM_UNIXTIME(datetime1,'%d/%m/%y %T'), FROM_UNIXTIME(datetime2,'%d/%m/%y %T'), s.message, s.begin, s.end, (CASE WHEN state = '1' THEN 'Accepted' WHEN state = '-2' THEN 'Waiting'  WHEN state = '-1' THEN 'Archived' WHEN state = '0' THEN 'Rejected' ELSE 'Unknown' END) AS Status, (CASE WHEN payment = '4' THEN 'Cash to Driver' WHEN payment = '5' THEN 'Credit/Debit  Card' WHEN payment = '6' THEN 'Credit/Debit Card to Driver' WHEN payment = '7' THEN 'Account'  ELSE 'Unknown' END) AS Payment, s.driver_id FROM #__taxibooking_orders s INNER JOIN #__taxibooking_cars tc ON tc.id = s.vehicletype WHERE s.driver_id = {$UserId}

確實非常感謝:)

SELECT s.names, s.phone, s.cprice, tc.title FROM table_orders s INNER JOIN table_cars tc ON tc.id = s.Vehicletype
WHERE s.driver_id = {$UserId}

我不確定它的最佳狀態,但是您可以嘗試:

IF(FROM_UNIXTIME(datetime2,'%Y') = '1970', NULL, FROM_UNIXTIME(datetime2, '%d/%m/%y %T'))

暫無
暫無

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

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