Гость
Покинул форум
Сообщений всего: 101
Дата рег-ции: Янв. 2010
Откуда: Ульяновск
Помог: 0 раз(а)
|
Приветствую!
Для примера, возьмем вот такие 3 незамысловатые таблицы:
Каким образом, можно составить запрос, чтобы возвращало примерно следующее:
Т.е., если запись из 2 или 3 таблицы не найдена, для текущей Windows, то вовзвращало пустое место в соответствующих столбцах.
Вот такой запрос
CODE ( SQL):
скопировать код в буфер обмена
SELECT * FROM `windows_names`, `windows_core_version`, `windows_cost` WHERE `windows_names`.`id` = '1' AND `windows_core_version`.`win_id` = `windows_names`.`id` AND `windows_cost`.`win_id` = `windows_names`.`id`
Ничего не возвращает.
Дамп базы данных (Отобразить)
CODE ( SQL):
скопировать код в буфер обмена
-- phpMyAdmin SQL Dump -- version 4.0.9 -- http://www.phpmyadmin.net -- -- Хост: localhost -- Время создания: Ноя 23 2013 г., 22:04 -- Версия сервера: 5.5.19 -- Версия PHP: 5.4.22 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; -- -- База данных: `win` -- -- -------------------------------------------------------- -- -- Структура таблицы `windows_core_version` -- CREATE TABLE IF NOT EXISTS `windows_core_version` ( `id` int(6) NOT NULL AUTO_INCREMENT, `win_id` int(6) DEFAULT NULL, `nt` varchar(32) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ; -- -- Дамп данных таблицы `windows_core_version` -- INSERT INTO `windows_core_version` (`id`, `win_id`, `nt`) VALUES (1, 2, 'Windows NT 6.0'), (2, 3, 'Windows NT 6.1'), (3, 4, 'Windows NT 6.2'), (4, 5, 'Windows NT 6.3'); -- -------------------------------------------------------- -- -- Структура таблицы `windows_cost` -- CREATE TABLE IF NOT EXISTS `windows_cost` ( `id` int(6) NOT NULL AUTO_INCREMENT, `win_id` int(6) DEFAULT NULL, `cost` int(6) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ; -- -- Дамп данных таблицы `windows_cost` -- INSERT INTO `windows_cost` (`id`, `win_id`, `cost`) VALUES (1, 1, 2000), (2, 3, 3000), (3, 4, 4000); -- -------------------------------------------------------- -- -- Структура таблицы `windows_names` -- CREATE TABLE IF NOT EXISTS `windows_names` ( `id` int(6) NOT NULL AUTO_INCREMENT, `name` varchar(32) DEFAULT NULL, `year` int(4) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ; -- -- Дамп данных таблицы `windows_names` -- INSERT INTO `windows_names` (`id`, `name`, `year`) VALUES (1, 'Windows XP', 2001), (2, 'Windows Vista', 2006), (3, 'Windows 7', 2009), (4, 'Windows 8', 2012), (5, 'Windows 8.1', 2013);
|