簡體   English   中英

是否有一種SQL語法會根據同一表中第3列的相等值搜索2列來創建新列?

[英]Is there a SQL syntax that will create new column by searching in 2 columns based on equal value of 3rd column in same table?

我有1個表,其字段名為:class_code,name1,class_code1,name2,class_code2。 我想搜索class_code的值,並將其顯示為class_code和僅名稱,其中class_code = class_code1或class_code = class_code2。 結果將顯示class_code和名稱

是否可以使用sql join語法?

這是表:

    class_code  name1     class_code1   name2     class_code2
    C0001       John      C0002         Ben       C0001
    C0002       Ren       C0001         Elizh     C0002
    C0001       Jeff      C0001         Harry     C0001

我需要的輸出是:

    class_code        name
    C0001             Ben
    C0002             Elizh
    C0001             Jeff
    C0001             Harry

如果打算將class_code1和name1放在一起,將class_code2和name2放在一起,則可以使用UNION

SELECT class_code1 AS class_code, name1 AS name FROM table
UNION
SELECT class_code2 AS class_code, name2 AS name FROM table

如果我做對了

SELECT class_code, name1 
FROM tbl
WHERE class_code = class_code1 
UNION --ALL
SELECT class_code, name2
FROM tbl
WHERE class_code = class_code2

暫無
暫無

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

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