我在構建特定查詢以選擇記錄時遇到問題。這是我試圖實現的一個愚蠢的例子。特定查詢選擇表A中與表B行中定義的標準不匹配的所有行?
比方說,我有一個名爲Criteria
表看起來是這樣的:
ID Unit Product Part
== ======== ======= ========
1 'sports' 'bike' 'handle'
2 'sports' ' ' ' '
3 'furn' 'couch' ' '
etc.
而且我有一個名爲Entries
表看起來是這樣的:
ID Tuple
== =========================
1 'sports/bike/seat'
2 'sports/racket/frame'
3 'furn/desk/leg'
4 'furn/lamp/shade'
etc.
記錄1 Criteria
建議任何「體育/自行車/手柄」元組都是合格的。在Criteria
中記錄2,其中Product
和Part
包含空格,表示以'sports'開頭的任何元組符合(「sports /%/%」)。記錄3表明任何以'furn'和'couch'開頭的元組符合(「furn/couch /%」)。我想選擇不符合符合任何條件的所有記錄。
在這種情況下,應該返回來自Entries
的記錄3和4,因爲它們不符合任何給定條件。
我是新來的SQL,所以我遇到了麻煩提出一個合適的查詢。我的思維過程是沿着這些線路:
對於Criteria
每個記錄,建立基於該Unit
,Product
和Part
字符串比較字符串。例如,對於記錄1,字符串將是「運動/自行車/手柄」。對於記錄2,字符串將是'sports /%/%',並且對於記錄3:'furn/couch /%'。現在,選擇Tuple
不等於任何這些字符串的所有記錄。我無法將其轉換爲SQL條款,而這正是我需要您的幫助的地方。
對不起,但我會考慮重新設計表,而不是試圖使它工作! – Parallelis
你爲什麼在真正的元組(行)內的列中存儲元組?使3值3列! –
大聲笑,我知道你們會嚇壞了。當我第一次得到這個項目時,我也做了。元組被存儲爲字符串,因爲它們來自其他地方。這是不幸的,令人討厭的,但這一點不能改變。如果不提供詳細信息,我很難解釋:我不應該這樣做:P – Dalal