#sql #ms-access
#sql #ms-access
Вопрос:
Привет, ребята, я новичок в sql, вот моя таблица
Я просто хочу выбрать все одинаковые значения.
пример вывода:
AA AA U
BB BB U
DD DD
Комментарии:
1. Откуда берется U? Вы хотите выводить в виде двух столбцов или трех столбцов?
2. Вы можете попробовать выбрать concat(символ, ‘ ‘, comp)
3. Я хочу вывести его только в виде двух столбцов
4. ВЫБЕРИТЕ * ИЗ таблицы, ГДЕ comp ПОХОЖ НА символ я пробовал этот запрос, но ничего не происходит.
5. Попробуйте решение, которое я опубликовал.
Ответ №1:
Скрипка SQL: — http://sqlfiddle.com /#!6/c4564/7
SELECT symbol,
comp
FROM table0
WHERE CHARINDEX(symbol,comp) > 0
UNION ALL
SELECT a.symbol AS symbol,
b.comp AS comp
FROM table0 a, table0 b
WHERE a.symbol = b.comp
;
Комментарии:
1. могу ли я спросить, почему существует 3 таблицы? я сталкиваюсь с ошибкой, каждая производная таблица должна иметь свой собственный псевдоним?
2. Попробуйте сейчас. Я добавил псевдоним
3. Какой sql вы используете? кажется, я не могу заставить его работать
4. я использую ms access прямо сейчас, в выражении указано неопределенная функция charindex можно ли спросить, можете ли вы преобразовать код в mysql или tsql?
5. затем вы сначала пересматриваете теги ur
Ответ №2:
Попробуйте это:
SELECT charindex.symbol, (SELECT comp FROM charindex AS C2 WHERE LEFT(c2.comp,2) = charindex.symbol) AS Comp2
FROM charindex
WHERE ((((SELECT comp FROM charindex AS C2 WHERE LEFT(c2.comp,2) = charindex.symbol))<>""));
Комментарии:
1. этим подзапросом может быть возвращено не более одного записанного
2. странно. Я действительно провел тест и получил ваш точный результат.