Пожалуйста, помогите с запросом.

WiVan

Guest
Пожалуйста, помогите с запросом.

Добрый день всем.
Есть две таблицы [number_t] и [range_sec]:

[number_t]
| id | sections |
| 1 | a1 |
| 2 | a2 |
| 3 | a3 |
| 4 | b1 |
| 5 | b2 |
| 6 | b3 |

[range]
| id | range_sec | val |
| 1 | a1 | a |
| 2 | a2 | a |
| 3 | a3 | a |
| 4 | a4 | a |
| 5 | a5 | a |
| 6 | b1 | b |

Надо вывести из таблицы [range] значения, которые не используются в таблице [number_t], по критерию ( например: WHERE val = 'a' ). В результате вывод такой:

| range |
| a4 |
| a5 |

Перепробовал разные варианты, но... увы... нужного мне результата не добился.

Каким должен быть запрос?
Версия MySql 3.23.49 (RH 7.3)

С уважением, WiVan
 

SeeYouLateR

Guest
SELECT r.range_sec , n.sections , r.val FROM range as r , number as n WHERE r.sec != n.sections and r.val = a;
Попробуй так
 

WiVan

Guest
В таблице [range] содержится диапазон отделов. В таблицу [number_t] добавляются записи с новыми группами. Мне надо, что бы при добавлении новой группы в таблицу [number_t] я мог бы выбирать любой отдел из таблицы [section], НО только тот который не используется в таблице [number_t].

-~{}~ 12.04.05 10:30:

Пробывал и раньше, результат... неудовлетворительный.
На текущий момент в таблице [number_t] 3 записи.

| 1 | a1 |
| 2 | a2 |
| 3 | a3 |

Вывод запроса был следующий:

| a2 |
| a3 |
| a4 |
| a5 |

То есть, отсутствует только 1-ая запись (и это правильно), но также и не должны присутствовать 2-ая и 3-яя записи в выводе.
Вот такая вот задача...

-~{}~ 12.04.05 12:14:

Всем спасибо. Вопрос разрешился.

[sql] SELECT range.range_sec, range.val FROM range LEFT JOIN number_t ON range.range_sec = number_t.section WHERE range.val = 'a' AND number_t.section IS NULL;[/sql]

С уважением, WiVan.
 
Сверху