SQL Поиск одного из двух элементов в одной таблице

У меня есть таблица Спички с элементами я бы, то есть PK, p1_name, p2_name, p1_score, p2_score.
Если я знаю я бы и имя одного из p's, как мне узнать оценку этого п?

Я не знаю, мое имя первое или второе, я знаю только имя

Daniel Shindov 31.07.2018 21:20

смотрите здесь: stackoverflow.com/a/63777/3959856

Jack Flamp 31.07.2018 21:30

Удалены конфликтующие теги товаров. Пожалуйста, добавьте тот, который вы используете.

Shadow 31.07.2018 22:07
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
1
3
57
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Предполагая, что ваш тег СУБД - mysql (ранее существовали mysql, sqlite), вы можете использовать следующий синтаксис с переменными связывания, состоящими из оператора case..when:

SET @p_id = <myInt>; 
SET @p_name = '<myStringValue>';
select  ( case when `p1_name` = @p_name 
               then `p1_score` 
               else `p2_score`
               end ) as score
  from `matches`
 where `id` = @p_id
   and @p_name in (`p1_name`, `p2_name`);

или же

заменять вместо этого цитируемый литерал для @p_name и целое число для @p_id, как в Демонстрация SQL Fiddle

Другие вопросы по теме