我有,我選擇name, id, date, priority
等我的請求也選擇category
,因爲類是在其他表我JOIN
鏈接它,問題是category
可以是空的,如果它空沒有ID
,沒有ID
表示JOIN
不起作用,它不會顯示不含類別的票證,因爲它無法選擇類別名稱,有沒有辦法「嘗試」選擇類別名稱,以及是否它不能它留下類別名稱空白,但仍然選擇其他項目?嘗試選擇,但留下空白,如果失敗
回答
使用您提供的左側加入數據將起作用。
使用這兩個表:
|Tickets |
+--+--------+----------+------+
|ID|Name |Date |Cat_id|
+--+--------+----------+------+
|1 |Ticket 1|2013-07-13|1 |
+--+--------+----------+------+
|2 |Ticket 2|2013-06-13|2 |
+--+--------+----------+------+
|3 |Ticket 3|2013-06-25|4 |
+--+--------+----------+------+
|Category |
+--+--------+
|ID|Name |
+--+--------+
|1 |sample 1|
+--+--------+
|2 |sample 2|
+--+--------+
|3 |sample 3|
+--+--------+
使用此查詢讓你在找什麼:
SELECT t.id, t.name
,t.date, c.name FROM `stack overflow`.tickets as t
Left Join category as c on c.id = t.cat_id
我得到的結果是:
|ID|Name |Date |Name |
+--+--------+----------+--------+
|1 |Ticket 1|2013-07-13|Sample 1|
+--+--------+----------+--------+
|2 |Ticket 2|2013-06-13|Sample 2|
+--+--------+----------+--------+
|3 |Ticket 3|2013-06-25|NULL |
+--+--------+----------+--------+
問題是連接是爲了ID,我在加入後選擇類別名稱 – Mokkun
您能否舉例說明您的數據是什麼樣的?每張桌子兩三行將會很有幫助。 –
在表''''我有'id''名''日期''category_id'和在表'category'我有'id'和'name'我的完整查詢有點複雜,所以我只是給你的信息我認爲你需要。我選擇tickets.id tickets.name tickets.date category.name和我JOIN類別ON tickets.category_id = category.id像我說的問題是,當沒有類別在ticket.category_id id是空的,它不能選擇category.name – Mokkun
- 1. 如果regexp_match失敗,請選擇空列
- 2. 模式如果失敗1嘗試2如果失敗嘗試3爲nodejs
- 3. Excel - 如果值爲0,則保留空白,但值爲0.03時保留空白
- 4. 如果服務器空閒,php會話首次嘗試失敗
- 5. JSRender留下空白
- 6. 嘗試使用async.forEach Serial但失敗 - Node.js
- 7. 失敗嘗試使用boost ::可選
- 8. 地理位置,嘗試了各種選項,但失敗了
- 9. 的slideToggle留下空白
- 10. 選擇列,如果空白從另一個選擇
- 11. 重試嘗試打開SQL Server連接(如果失敗)
- 12. 試圖向下拉伸背景,但留下一個空白區域
- 13. SQL選擇2個表,但不是忽略空白結果
- 14. iAdSuite bug在廣告消失時留下空白空間
- 15. 刪除所有空白行,但留下兩個空行
- 16. 失敗登錄嘗試
- 17. 連接嘗試失敗
- 18. 連接嘗試失敗
- 19. Servlet:登錄嘗試失敗
- 20. 失敗枚舉嘗試
- 21. 鐺嘗試catch失敗
- 22. org.postgresql.util.PSQLException:連接嘗試失敗
- 23. 嘗試:語句失敗
- 24. Azure連接嘗試失敗
- 25. 代碼執行罰款內部try塊,但如果嘗試不存在失敗
- 26. ActionBar.NAVIGATION_MODE_STANDARD在頂部留下空白空間
- 27. 如果command.ExecuteNonQuery()失敗,如何嘗試重複執行
- 28. 如何在腳本告訴,如果SCP失敗,嘗試了wget
- 29. SmsManager如何使它嘗試重發,如果發送失敗?
- 30. 如果交易失敗,保留數據?
你想要的*外*加入。請參見[SQL連接的可視化解釋](http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html)。 – eggyal
外連接沒有工作,當我替換'通過'外連接itilcategories ON itilcategories.id = tickets.itilcategories_id'將它加入itilcategories.id = tickets.itilcategories_id'時什麼都沒有顯示。 – Mokkun