我想弄清楚如何編碼某個子查詢。我不斷收到「子查詢返回超過1個值」的錯誤。我需要查詢父級訂單的描述而不是子級。SQL子查詢列其中名稱包含值
實施例:
父訂單:100-01 兒童訂單:100-02,100-03
每個訂單具有描述。但是,在一個專欄中,我需要家長的描述:
WHERE [ORDER] LIKE '%-01'
當前代碼如下:
SELECT NAME as [Job],
[Master Job Desc] = (SELECT TOP 1 [DESCR] FROM TABLE WHERE [NAME] LIKE '%-01'),
LEFT(or_order.descr,30) as [Description],
FROM TABLE
ORDER BY OR_ORDER.DELIVERY asc, or_op.STARTSEC asc
有什麼建議?謝謝
編輯:我忘了,我已經嘗試添加TOP 1到子查詢,但它只是返回整個列相同的值。我不想那樣,我想找到父母的工作訂單。
編輯2:這是我正在尋找的單獨的SQL。
SELECT [DESCR] FROM [Or_Order] WHERE [NAME] LIKE '%-01'
上述語句返回名稱包含父作業號(-01)的描述。我需要在一個專欄中。
如何這些訂單命名?連字符之前的數字是唯一的交易號碼和01,02等線/子號碼? – Kevin
訂單被命名爲他們顯示。示例「100-01」是父作業。 「100-02」是一個不同的工作,但它是「100-01」的孩子。它們在表格中是分開的行。 – Datallboy
在我看來,你在這裏苦苦掙扎,因爲你的數據通過將兩個數據點填入單個列而違反了1NF。如果這兩個值在兩列中而不是一列中的兩個值,這將更容易。如果可能的話,你應該改變設計......當然這並不總是可能的,我們必須摔倒以前不太理想的決定。 –