Edit:Игнорировать столбец на основе, где положение
Таким образом, кажется, есть некоторая путаница в частности, то, что я хочу сделать, так что я собираюсь изменить свой пример.
У меня есть таблица с именем example_table:
id code1 code2
-------------------------
1 1780 4245
2 1781 4280
3 1900 1200
4 2800 4217
5 2817 1782
С этим я хочу найти что-то подобное,
SELECT * FROM example_table WHERE code1 LIKE '%17%' OR code2 LIKE '%17%';
Я хочу, чтобы это вернуть
id code1 code2
------------------------
1 1780 null
2 1781 null
4 null 4217
5 2817 1782
Так вы» ll замечает, что это ниспровержает любой результат, который не соответствует ни одному из столбцов, и если оба присутствуют, он будет захватывать оба.
Что делать, если девичья фамилия Сьюзи была 'Уокер', и вы искали' Уокер'? Какими будут результаты? Ясно, что и Сьюзи, и Джонни должны быть возвращены, но с какими столбцами: 'first_name' и ...? – eggyal
@eggyal Должно быть: Джонни Уокер и Сьюзи Уокер, оставив Смита на Сьюзи. Если фамилия Сьюзи была также Уокер, то оба должны быть включены. –
Я получаю это, но как будет выглядеть название этого второго столбца? Это не 'last_name', не' maiden_name', так как это смесь обоих. Фактически, он содержит только значение 'Смит' для всех, поэтому давайте просто назовем его' Смит'. Или зачем вообще его включать? – eggyal