![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Гриша |
|
||||
![]() НУС(незнаю|узнаю|создаю) ![]() Профиль Группа: Участник Сообщений: 181 Регистрация: 12.6.2005 Где: Земля, Москва, Хр ущевка Репутация: нет Всего: 1 |
Здравствуйте.
# У меня есть задача, которую я не могу выполнить, я описываю ее ниже "## ЧТО Я ХОЧУ СДЕЛАТЬ ##". # У меня есть одна идея "# МОИ СООБРАЖЕНИЯ #", но для этого мне нужно объединить 3 таблицы левосторонним объединением, чего я немогу сделать. И в общем-то если я смогу это сделать, возможно задача будет решена. # И возможно посмотрев приведенные таблицы и прочитав интересующие меня условия вывода данных, вы сможете предложить простое решение, так как у меня знаний немного в PHP, и возможно я просто невижу простого решения. ORDERS |------------|-----------------|-------------|-------|---------------| |*orderid*|*customerdid|*amount*|*pay*|***date**| |------------|-----------------|-------------|-------|---------------| |***1***|*****1*****|***25***|*yes*|*01-01-07*| |***2***|*****2*****|***25***|*no**|*01-01-07*| |***3***|*****3*****|***25***|*no**|*01-01-07*| |***4***|*****4*****|***25***|*yes*|*01-01-07*| |------------|-----------------|-------------|-------|---------------| ORDER_DETAILS |-----------|--------------|---------|-----------|---------|---------------| |*orderid|*productid*|**iso*|*Cityid*|*foto**|*signature*| |-----------|--------------|---------|-----------|---------|---------------| |***1***|****1****|*RUS*|***11**|*1.jpg*|***none**| |***2***|****2****|*RUS*|***12**|*2.jpg*|***none**| |***3***|****3****|*RUS*|***13**|*3.jpg*|***none**| |***4***|****4****|*RUS*|***14**|*4.jpg*|***none**| |-----------|--------------|---------|-----------|---------|---------------| COUNTRIES |--------|---------------------| |**iso*|***country****| |--------|--------------------| |*AUS*|**Австралия**| |*AUT*|***Австрия***| |*AZE*|*Азербайджан*| |*RUS*|***Россия****| |--------|--------------------|
######## ЧТО Я ХОЧУ СДЕЛАТЬ ########## Я хочу сделать так, чтобы если столбец "pay" неравняется 'yes', то тогда выводим Страны например виде текста
Если просто объединить все 3 таблицы, то соответсвенно буду выводиться только те города, где "ordrid" не равняется null ########## МОИ СООБРАЖЕНИЯ ########### У меня есть такая идея: 1) В функции get_country() извлеч данные таким образом где "pay" = YES $query = "select DISTINCT C.iso, C.country, O.pay from countries as C, order_details as OD, orders as O where C.iso = OD.iso and OD.orderid = O.orderid and O.pay = 'Yes'"; 2) Сделать функцию get_country_1(), где используя левостороннее объядинение извлеч все остальные данные из тех же столбцов, но там где "pay" = NO и "orderid" имеет пустое значение (is null) Но я не знаю как объединить 3 таблицы левосторонним объединением, у меня получается объединить только 2 таблицы: $query = "select DISTINCT countries.iso, countries.country from countries left join order_details using (iso) where order_details.orderid is null"; 3) Объединить массивы этих функций и вывести полученный массив; // $country_array = get_country(); $country_array_1 = get_country_1(); $country_array_merge = array_merge($country_array, $country_array1); display_country($country_array); // В таком случае массив будет содержать значение столбца "pay" и я могу к нему обратиться --------------------
Если долго мучиться, что-нибудь получитЬся. |
||||
|
|||||
| Kefir |
|
|||
|
«Hakuna Matata» ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1878 Регистрация: 25.1.2003 Где: Tampere, Suomi Репутация: нет Всего: 87 |
гм... а если просто написать зщапрос так, то в чём проблема?:
Просто так мудрёно написано, что ничего толком не понять (по крайней мере мне...). |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |