谷歌搜索後,看着所以我出來了一個不工作的解決方案爲特定類型的查詢。我有一個表格用於轉換文本中另一個表格的值。比方說:執行加入,如果加入字段有一個值
id - text
1 - House
2 - Villa
3 - Camper
和主表是
id - valueA - valueB - valueC
1 - 1 - whastington - 3000
2 - - NewYork - 5000
所以,如果我抓取行FRM主表我替換值值a從1到房屋等。
ValueA在特定條件下設置。在任何其他情況下,它將留空(該字段不打算爲NULL)。
如果我進行連接,第二行將被省略,因爲valueA是空白的。查詢是
SELECT id,text,valueB,valueC FROM main JOIN dic on main.valueA = dic.id
所以我想說:只執行;如果valueA不是空白 的加入,我寫了這個條件爲:
SELECT id,text,valueB,valueC FROM main
JOIN dic ON (main.valueA = dic.id AND main.valueA <>'')
我在this question讀,但我沒有得到我想要的東西,可能是因爲這種情況下的AND條件是基於另一個字段而不是加入的。我可以在字典表中添加另一行,使用0 - NONE對,並將所有空值A都設爲0,但我想知道我是否在正確的路徑上查詢以及我做錯了什麼。這個所謂的「條件連接」是可能的在MySQL? 我也看了一下this question但這種方法將使這個查詢太複雜,它的目的,在這種情況下,我會去更換的「B計劃」空0
什麼是示例數據您預期的結果? – Simimmo
我想從main中選擇兩行。與平原加入我想念第2行 –