Cross-запрос

FESt

Guest
Cross-запрос

Всем доброго дня!
Есть фрагмент:
Detal
+------+------+
| vam | nam |
+------+------+
| 0111 | 0111 |
| 1234 | 1234 |
| 0111 | 1234 |
| 5555 | 1234 |
+-----+------+
1)select * from Detal where nam='1234'
в результате: 1234
0111
5555
т.е. ищем все значения '1234' в nam, а итоговое получаем в vam.

2)select * from Detal where nam='0111'
в результате: 0111

3)select * from Detal where nam='5555'
в результате: 0
Как сделать бы так, чтобы возвращались значения 1234, 0111, 5555 если искать по 5555 (т.к.
все значения равнозначны), одним махом или с замахом?
Заранее спасибо!
 

Дмитрий Попов

Guest
Ни чено не понял... Вернее логики не видел...
А без неё кодировать как-то.... Ну, екстремально что ли...
 

Falc

Новичок
FESt
>>Как сделать бы так, чтобы возвращались значения 1234, 0111, 5555 если искать по 5555 (т.к.
все значения равнозначны)

А что должно выдавать если искать по '6666' ???
 

Krisha

pain in the neck
FESt
Поясните связь между vam и nam ?

Дмитрий Попов
Как раз экстремально програмить - дело тонкое :)
 

Дмитрий Попов

Guest
Krisha
Я в другом смысле... От слова "экс" :)
 

FESt

Guest
-----+------+------+
id | vam | nam |
-----+------+------+
1 | 0111 | 0111 |
2 | 1234 | 1234 |
3 | 0111 | 1234 |
4 | 5555 | 1234 |
-----+-----+------+
Таблица индексированная. 1234 - сорт пива, который разливают в бутылки - 0111, банки-5555. Глядя на банку
можно узнать сорт, и что оно бывает еще и в бутылках.
 

Falc

Новичок
FESt
Сначало по банке вытаскиваешь сорт, а потом по сорту, тару.
Можно и в один запрос, но это тебе еще рано.
 

tony2001

TeaM PHPClub
Falc
а проще:
таблица 1 - сорты пива
таблциа 2 - конечная продукция, со ссылками на сорта пива
 

tony2001

TeaM PHPClub
Falc
проще тем, что сущности "продукт" и "сорт пива" разносятся по соотв-щим местам.
 

Falc

Новичок
tony2001
То есть ты считаешь что менять структуру базы проще :)
И вообще не понятно что ты понимаешь под продуктом?
Если таблицу Detal, то вообще не вижу смысла в твоем утверждении.
 

tony2001

TeaM PHPClub
>То есть ты считаешь что менять структуру базы проще
я считаю, что проще решать правильно поставленную задачу.
то, что я здесь вижу - не структура базы.
соотв-но, ничего менять не надо будет, т.к. все равно ничего не готово.

>И вообще не понятно что ты понимаешь под продуктом?
бутылка 0.5 с пивом конкретного сорта - продукт
банка 0.33 с пивом конкретного сорта - продукт
пиво конкретного сорта - "полуфабрикат" (неверно, но суть отражает).
 

Falc

Новичок
tony2001
>>бутылка 0.5 с пивом конкретного сорта - продукт
И чем она отличается от Detal у автора?
 

tony2001

TeaM PHPClub
Falc
ты либо мастер придуриваться, либо действительно не понимаешь о чем я говорю.
ты еще скажи, то 1111 и 5555 - это ID у него.
вместе посмеемся.
 

Falc

Новичок
tony2001
>>ты еще скажи, то 1111 и 5555 - это ID у него.

То что это индентификаторы это точно. Другой вопрос где он хранит справочники.
 

Krisha

pain in the neck
Имеем:
grades - сорта пива
containers - типы упаковок

Соответственно имеем 2 таблицы: grades и containers.
Так как у нас 1 сорт пива может разливатся в разные контенеры и 1 вид контейнера может использоватся разными сортами пива, то получаем таблицу связку м-м: GradeID | ContainerID.

Или я не понял идеи ?
 

Falc

Новичок
Собствено эту связку(GradeID | ContainerID) автор и привел в своем вопросе.
И от того что вы переименуете эти поля суть запроса не изменится.

chira дал абсалютно точный и конкретный ответ на поставленый вопрос.
 
Сверху