PHP/MySQL | Помощь по SQL (вложенный запрос)
Вообщем суть такова
Есть 2 таблицы, city и firm
Структура таблицы city - id, name
Структура таблицы firm - id, name, id_city
Мне нужно вывести названия городов, которые не имеют связи с какой-либо фирмой, т.е город в котором ни одна из фирм не расположена
Есть 2 таблицы, city и firm
Структура таблицы city - id, name
Структура таблицы firm - id, name, id_city
Мне нужно вывести названия городов, которые не имеют связи с какой-либо фирмой, т.е город в котором ни одна из фирм не расположена
Хм
________
посл. ред. 23.10.2018 в 13:53; всего 1 раз(а); by Коляда
________
посл. ред. 23.10.2018 в 13:53; всего 1 раз(а); by Коляда
Могу предложить создать триггер установки/обновления для связки city и firm и в city добавить столбец в котором будет ключи с id_firm в которой находяться id фирм и уже по этому столбцу выводить города в которых нет фирм либо без тригера работать с id_city в firm тогда код будет больше
Я бы посоветовал, но давно не работал с базами и метод мой может быть доисторическим.
В общем смотри, в таблице city тебе придется создать ещё одно значение "col" (количество) со значением "0". Далее, при создании фирм в одном городе в строку "col" должно заносится значение, типа "1" (Есть одна или более фирм) или можно каждую фирму плюсовать, то есть, создал фирму "b" в городе "a" и значение изменилось на "1", далее ещё создал и значение изменилось на "2".
Далее методом цикла, выводить города со значением "0" в строке "col".
Костыльный метот.
________
посл. ред. 23.10.2018 в 14:40; всего 1 раз(а); by Brooklyn
Далее методом цикла, выводить города со значением "0" в строке "col".
Костыльный метот.
________
посл. ред. 23.10.2018 в 14:40; всего 1 раз(а); by Brooklyn
Brooklyn (23.10.2018 в 14:39)
В общем смотри, в таблице city тебе придется создать ещё одно значение "col" (количество) со значением "0". Далее, при создании фирм в одном городе в строку "col" должно заносится значение, типа "1" (Есть одна или более фирм) или можно каждую фирму плюсовать, то есть, создал фирму "b" в городе "a" и значение изменилось на "1", далее ещё создал и значение изменилось на "2".
Далее методом цикла, выводить города со значением "0" в строке "col".
Костыльный метот.
В общем смотри, в таблице city тебе придется создать ещё одно значение "col" (количество) со значением "0". Далее, при создании фирм в одном городе в строку "col" должно заносится значение, типа "1" (Есть одна или более фирм) или можно каждую фирму плюсовать, то есть, создал фирму "b" в городе "a" и значение изменилось на "1", далее ещё создал и значение изменилось на "2".
Далее методом цикла, выводить города со значением "0" в строке "col".
Костыльный метот.
Да, это костыль, но мне такой вариант не подходит:)
Все должно проверяться 1 вложенным запросом
Bimax (23.10.2018 в 13:50)
Вообщем суть такова
Есть 2 таблицы, city и firm
Структура таблицы city - id, name
Структура таблицы firm - id, name, id_city
Мне нужно вывести названия городов, которые не имеют связи с какой-либо фирмой, т.е город в котором ни одна из фирм не расположена
Вообщем суть такова
Есть 2 таблицы, city и firm
Структура таблицы city - id, name
Структура таблицы firm - id, name, id_city
Мне нужно вывести названия городов, которые не имеют связи с какой-либо фирмой, т.е город в котором ни одна из фирм не расположена
Если я тебя правильно понял
<?
$q = "SELECT * FROM `city`,`firm` WHERE (`city`.`id` = `firm`.`id_city`)";
//или так, если нет названий городов
$q = "SELECT * FROM `city`,`firm` WHERE (`city`.`id` = `firm`.`id_city` AND `city`.`name` = '".NULL."')";
________
посл. ред. 23.10.2018 в 14:53; всего 1 раз(а); by TuT
TuT (23.10.2018 в 14:49)
Bimax (23.10.2018 в 13:50)
Вообщем суть такова
Есть 2 таблицы, city и firm
Структура таблицы city - id, name
Структура таблицы firm - id, name, id_city
Мне нужно вывести названия городов, которые не имеют связи с какой-либо фирмой, т.е город в котором ни одна из фирм не расположена
Если я тебя правильно понял
Bimax (23.10.2018 в 13:50)
Вообщем суть такова
Есть 2 таблицы, city и firm
Структура таблицы city - id, name
Структура таблицы firm - id, name, id_city
Мне нужно вывести названия городов, которые не имеют связи с какой-либо фирмой, т.е город в котором ни одна из фирм не расположена
Если я тебя правильно понял
<?
$q = "SELECT * FROM `city`,`firm` WHERE (`city`.`id` = `firm`.`id_city`)";
//или так, если нет названий городов
$q = "SELECT * FROM `city`,`firm` WHERE (`city`.`id` = `firm`.`id_city` AND `city`.`name` = '".NULL."')";
Вот та же логика как в первом твоем запросе была у меня, но в этом случае выводятся города в которых есть фирмы, если поменять знак = на != то тогда города дублируются в зависимости от колличества фирм
Что-то тут не так, и я не могу понять какой момент пропущен
Bimax, Значит нужно составить условие, в котором будет выводится только без города. Делать выборку полностью и отсекать где есть города. Как то так.
Bimax (23.10.2018 в 13:50)
Вообщем суть такова
Есть 2 таблицы, city и firm
Структура таблицы city - id, name
Структура таблицы firm - id, name, id_city
Мне нужно вывести названия городов, которые не имеют связи с какой-либо фирмой, т.е город в котором ни одна из фирм не расположена
Вообщем суть такова
Есть 2 таблицы, city и firm
Структура таблицы city - id, name
Структура таблицы firm - id, name, id_city
Мне нужно вывести названия городов, которые не имеют связи с какой-либо фирмой, т.е город в котором ни одна из фирм не расположена
$sql = "SELECT city.name FROM city, firm WHERE city.id != firm.id_city";
________
посл. ред. 23.10.2018 в 16:16; всего 2 раз(а); by Avenax