Column: 'idin' in field list is ambiguous - dublowanie nazw |
Column: 'idin' in field list is ambiguous - dublowanie nazw |
29.05.2003, 11:32:48
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 21.05.2003 Ostrzeżenie: (0%) |
Witam
Tabela PRZYJECIE: idin PRIMATY KEY; idses, nrlistuin Tabela NAPRAWA: idnapr RIMARY KEY; idin, idczesci Prosze nie zwazac na kolejnosc przeszukiwania itp, na razie nie ma to znaczenia. Wg tradycyjnej SQL-89 Kod SELECT nrlistuin,idin,rodznapr FROM przyjecie NATURAL JOIN naprawa WHERE nrlistuin='List_RR_0'
i dostaje msg jak w tytule postu. Wg SQL-92 Kod SELECT nrlistu,idin,rodznapr FROM przyjecie,naprawa WHERE przyjecie.idin=naprawa.idin WHERE nrlistuin='List_RR_0'
Latwo zgadnac, iz Mysql opluwa mnie tym samym komunikatem. Problem baza widzi w tych samych nazwach pol idin w 2 roznych tabelach. Sadzilem,ze SQL-92 da sobie z tym rade,ale moze Mysql ma inne obejscie tematu? Bede wdzieczny za pomoc. Pozdr |
|
|
30.05.2003, 22:02:42
Post
#2
|
|
Grupa: Zarejestrowani Postów: 384 Pomógł: 0 Dołączył: 3.04.2003 Skąd: Chorzow Ostrzeżenie: (0%) |
Kod SELECT nrlistu, przyjecie.idin, rodznapr FROM przyjecie, naprawa WHERE przyjecie.idin=naprawa.idin AND nrlistuin='List_RR_0'
MySQL wymaga zawsze wskazania tabeli z ktorej pochodzi pole jesli nazwy sie pokrywaja, jedynym wyjatkiem jest SELECT * FROM ... |
|
|
2.06.2003, 11:41:58
Post
#3
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 21.05.2003 Ostrzeżenie: (0%) |
Thx, juz wlasnie sie polapalem i znalazlem nowa ciekawostke. Otoz aby wykorzystac JOIN-y z SQL-92 a nie zlaczenie kartezjanskie, Mysql wymaga dodatkowo komenty NATURAL, czyli NATURAL JOIN. Inne bazki same "zgaduja",iz chodzi o NATURAL. To taka dygresja.
Dzieki, pozdrawiam |
|
|
Wersja Lo-Fi | Aktualny czas: 27.04.2024 - 07:08 |