Как мне присоединиться к таблице и изменить имена возвращаемых столбцов? - PullRequest
0 голосов
/ 03 июня 2011

У меня есть таблица MS SQL 2008 под названием "фрукты", которая выглядит следующим образом:

id   name           category_id
--   ------------   -----------
 1   Apples                   4
 2   Bananas                  6
 3   Crackers                 6

, а другая таблица называется "категориями" с:

id   category_name
--   -------------
 4   Foo
 6   Bar

КакЯ создаю запрос, который будет возвращать результаты, которые выглядят следующим образом:

fruit_name  fruit_category_name
----------  -------------------
Apples      Foo
Bananas     Bar
Crackers    Bar

(столбцы должны быть именно таким именем, потому что я пытаюсь написать CSV.)

Ответы [ 6 ]

8 голосов
/ 03 июня 2011
SELECT f.name AS fruit_name, c.category_name AS fruit_category_name
FROM fruits AS f
INNER JOIN categories AS c ON c.id = f.category_id
2 голосов
/ 03 июня 2011

Попробуйте это:

SELECT f.name AS fruit_name, c.category_name AS fruit_category_name
FROM fruits f INNER JOIN categories c
ON f.id = c.id
ORDER BY f.name
1 голос
/ 03 июня 2011
select name as fruit_name, category_name as fruit_category_name
from fruits
inner join categories on (fruits.category_id = categories.id)
order by fruit_name
0 голосов
/ 03 июня 2011

Вы можете переименовать столбец одним из двух способов:

SELECT
    ColumnName AS DisplayName
    FROM ...

или

SELECT
    DisplayName = ColumnName
    FROM ...

Помните, используйте [ и ], если вам нужно использовать специальные символы (например, пробел) в отображаемом имени:

SELECT
    ColumnName AS [Display Name]
    FROM ...

или

SELECT
    [Display Name] = ColumnName
    FROM ...

Вы можете сделать свое объединение следующим образом:

SELECT 
    f.name AS fruit_name
        ,c.category_name AS fruit_category_name
    FROM Fruits             f
    INNER JOIN Categories   c ON c.id=f.category_id
0 голосов
/ 03 июня 2011

Как то так?:

SELECT
    f.name AS fruit_name,
    c.category_name AS fruit_category_name
FROM
    fruits f
JOIN
    categories c ON c.id = f.category_id
ORDER BY
    fruit_name DESC
0 голосов
/ 03 июня 2011
SELECT fruits.name AS fruit_name, categories.category_name AS fruit_category_name FROM fruits INNER JOIN categories ON (fruits.category_id = categories.category_name)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...