Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 01:25 09.07.24 
Компютри и Интернет
   >> Бази данни
Всички теми Следваща тема *Кратък преглед

Тема MySQLнови  
Автор Lizard (приятел)
Публикувано05.07.01 16:21



имам една таблица в която са записани ID2 и ID3 - идентификатори от други 2 таблици

table 1
ID ID2 ID3 Data1
1 1 1 neshto11...
2 1 2 neshto12...
3 2 neshto13...
4 3 neshto14...

table 2
ID Data2
1 neshto21...
2 neshto22...
3 neshto23...
4 neshto24...

table 3
ID Data3
1 neshto31...
2 neshto32...
3 neshto33...
4 neshto34...

как да напиша заявка, която търси нещо в полетата Data1,2,3 и ми дава записите от първата таблица. Ще дам пример, защото ми се струва, че не мога да го обясня добре.

значи

вземаме примерно втория запис от table1
там пише да вземе първия от table2 и втория от table3
и така правиме си "neshto12+neshto21+neshto32" и търсиме в него
ако го намериме извеждаме ID 2

вземаме третия запис от table1
там пише да вземе първия от table2 и втория от table3
и така правиме си "neshto12+neshto21" и търсиме в него
ако го намериме извеждаме ID 3


Много благодаря, предварително!



Тема Re: MySQL [re: Lizard]  
Автор curly (Well known :P)
Публикувано05.07.01 17:00



na primafista malko :>


mysql> select table1.id, table1.id2,table1.id3, concat( table1.data1, table2.data2, table3.data3) as searchString from table1,table2,table3 where concat( table1.data1, table2.data2, table3.data3) like '%33%' and table1.id=3 and table2.id=table1.id2 and table3.id=table1.id3;
+----+-----+-----+--------------------+
| id | id2 | id3 | searchString |
+----+-----+-----+--------------------+
| 3 | 3 | 3 | data13data23data33 |
+----+-----+-----+--------------------+
1 row in set (0.00 sec)

mysql> select table1.id, table1.id2,table1.id3, concat( table1.data1, table2.data2, table3.data3) as searchString from table1,table2,table3 where concat( table1.data1, table2.data2, table3.data3) like '%23%' and table1.id=3 and table2.id=table1.id2 and table3.id=table1.id3;
+----+-----+-----+--------------------+
| id | id2 | id3 | searchString |
+----+-----+-----+--------------------+
| 3 | 3 | 3 | data13data23data33 |
+----+-----+-----+--------------------+
1 row in set (0.01 sec)mysql> select table1.id, table1.id2,table1.id3, concat( table1.data1, table2.data2, table3.data3) as searchString from table1,table2,table3 where concat( table1.data1, table2.data2, table3.data3) like '%23%' and table1.id=2 and table2.id=table1.id2 and table3.id=table1.id3;
Empty set (0.01 sec)



mysql> select table1.id, table1.id2,table1.id3, concat( table1.data1, table2.data2, table3.data3) as searchString from table1,table2,table3 where concat( table1.data1, table2.data2, table3.data3) like '%data12%' and table1.id=2 and table2.id=table1.id2 and table3.id=table1.id3;
+----+-----+-----+--------------------+
| id | id2 | id3 | searchString |
+----+-----+-----+--------------------+
| 2 | 2 | 2 | data12data22data32 |
+----+-----+-----+--------------------+
1 row in set (0.00 sec)



predpolagam 4e salle sha kae po-dobyr na4in za tfa :>
like '%string-looking-for%' e string koito tyrsis
table1.id=id-to-na-table1-za-koeto-tyrsis

rgdz
curly


Тема Re: MySQLнови [re: Lizard]  
Автор salle (рЮЙЗБ)
Публикувано05.07.01 17:44



Имам молба:
Опитай се да го обясниш по-добре. Нали знаеш, че кото успееш да си обясниш проблема на някой друг това е поне половината от пътя към решението.

Какво всъщност искаш да получиш като резултат? Какво конкретно съдържат тези таблици? Започни с по-простия вариант - само 2-таблици. Даже една.
"Искам от първата таблица да взема това и това и евентуално за n-тата колона от първата таблица да взема x-тата колона от 2-рата ... " и т.н.

В базите данни никога няма общо решение. Всичко и винаги се прави според конкретния случай. Най-вероятно ще стигнеш до извода, че трябва да промениш изцяло таблиците.

Linux is like a wigwam - No Windows, No Gates, Apache inside


Тема Re: MySQLнови [re: curly]  
Автор salle (рЮЙЗБ)
Публикувано05.07.01 17:46



Curly
Не забравяй да кажеш и че like '%nnn%' трябва да се избягва винаги когато е възможно :))

За разлика от like 'nnn%'

Linux is like a wigwam - No Windows, No Gates, Apache inside


Тема Re: MySQLнови [re: salle]  
Автор curly (Well known :P)
Публикувано06.07.01 19:04



Dade
ma tfa beshe na primafista fse pak :>

i spored tfa koeto razbrah ot problema, tfa moito e reshenie det (mai) raboti

rgdz
curly


Тема Re: MySQLнови [re: salle]  
Автор Lizard (приятел)
Публикувано09.07.01 13:04



Преборих се с проблема.
10х




Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.