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

Например, у меня есть 2 таблицы.

Таблица A имеет настройку/активна

В таблице B есть имя/возраст/город

Поэтому я хочу получать записи из B только тогда, когда isActive = 1 для параметра = «GetThis» в таблице A.

что-то вроде

if 'GetThis' = 1 from table A
then get records from table B

Какие записи получить от B? не видно связи между А и Б

P.Salmon 29.03.2022 21:11

получить все записи из B, неважно, какие записи, и нет никакой связи между A и B, но я хочу получить записи из B, если условие в A истинно

Pandakkk 29.03.2022 21:23

@Pandakkk, в таблице A тоже есть имя столбца? исходя из вашего вопроса выше, if 'GetThis' = 1 from table A Какие записи из таблицы B он должен получить?

fonz 30.03.2022 03:36

Пожалуйста, прочитайте dev.mysql.com/doc/refman/8.0/en/create-procedure.html, dev.mysql.com/doc/refman/8.0/en/if.html , stackoverflow.com/questions/5528854/использование-mysqls-если-существует попробуйте что-нибудь, и если у вас возникнут трудности, опубликуйте свой код.

P.Salmon 30.03.2022 09:05
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
4
34
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Не знаю, какую СУБД вы используете, но посмотрите на команду IF EXISTS

Если он должен получить все записи из таблицы B, вы можете попробовать это;

Select b.name, b.ages, b.city from table_B b, table_A a where a.isActive = 1 and a.Setting ='GetThis' 
Ответ принят как подходящий

Я закончил тем, что сделал это

CREATE PROCEDURE GetAllRecords
@isActive BIT
SET @isActive = (Select isActive FROM TableA WHERE Setting = 'GetThis')

AS

IF @isActive = 1
BEGIN

SELECT * FROM TableB

END
GO;

Круто, но опубликованный код — это sql-server/MSSQL, а не mysql. Рад, что не тратил время на написание для вас.

P.Salmon 31.03.2022 08:32

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