Taisu skolai darbu iekš MySQl un nevaru SELECT'ot vairāk par 3 tabulām.
Relācijas:
Kods, ko ģenerē proga DBA central for MySQL.
SELECT
`studenti`.`name`,
`studenti`.`surname`,
`tests`.`atzime`,
`prieksmets`.`nosaukums`
FROM `tests`
INNER JOIN `studenti` ON (`studenti`.`id` = `tests`.`studenta_id`)
INNER JOIN `prieksmets` ON (`prieksmets`.`id` = `tests`.`prieksmeta_id`)
Šis strādā, jo selekto tikai trīs tabulas.
SELECT
`studenti`.`name`,
`studenti`.`surname`,
`tests`.`atzime`,
`prieksmets`.`nosaukums`,
`pasniedzeji`.`name_pas`,
`pasniedzeji`.`surname_pas`
FROM `tests`
INNER JOIN `studenti` ON (`studenti`.`id` = `tests`.`studenta_id`)
INNER JOIN `prieksmets` ON (`prieksmets`.`id` = `tests`.`prieksmeta_id`)
INNER JOIN `prieksmets` ON (`prieksmets`.`id` = `pasniedzejs_prieksmets`.`prieksmeta_id`)
INNER JOIN `pasniedzeji` ON (`pasniedzeji`.`id` = `pasniedzejs_prieksmets`.`pasniedzeja_id`)
Bet šis nestrādā un izmet erroru - Not unique table/alias: ‘prieksmets’. Pats padomāju, tiešām tabulai 'prieksmets' abās pusēs vaidojas plūsmas, kas savā stārpā nevienojas kopā. Plūsma Studenti+tests+prieksmets nevienojas kopā ar plūsmu pasniedzeji+pasniedzeji_prieksmets+prieksmets. Pa vidu tam ir tabula prieksmets. Un jautājums tāds, kā panākt lai viss darbotos? Manuprāt, vajag kaut kā vienā plūsmā prieksmets.id savienot ar otras plūsmas prieksmets.id. Neveidojās ķēde, pārtrūkst un tie divi posmi ir jāsadabū kopā. Kā? Varbūt var kaut kā savādāk? Select select'ā vai kā savādāk?