Daniivo Posted June 26, 2012 at 07:47 PM Report Share #465753 Posted June 26, 2012 at 07:47 PM (edited) pessoal. eu ando aos pontapes com o sql e base de dados. vejam se alguem me pode ajudar.... eu tenho 2 tabelas Pai e Filho pai: Id_pai nome Numero_da_familia Filho: Id_filho nome Id_pai o objetivo è buscar o "numero da família" que esta na tabela pai quando estou a fazer o insert do filho. eu vou inserir filhos e depois vou associa-los aos pais.... Edited June 26, 2012 at 07:50 PM by Daniivo Link to comment Share on other sites More sharing options...
NunoDinis Posted June 26, 2012 at 07:51 PM Report Share #465756 Posted June 26, 2012 at 07:51 PM para que queres o número da familia ? Explica-me melhor sff, só assim poderei ajudar. Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro. ndsotware.org Link to comment Share on other sites More sharing options...
Daniivo Posted June 26, 2012 at 08:00 PM Author Report Share #465758 Posted June 26, 2012 at 08:00 PM (edited) o numero da familia vai servir para procurar pela familia, a ideia è meteres o numero e aparecer o pai ou qualquer um dos filhos correspondente a quele numero, a pesquisa sera feita por nome, numero BI, e numero de familia. vou usar o numero porque isto sera como uma factura e terá um numero de fatura associado. Edited June 26, 2012 at 08:01 PM by Daniivo Link to comment Share on other sites More sharing options...
NunoDinis Posted June 26, 2012 at 08:09 PM Report Share #465762 Posted June 26, 2012 at 08:09 PM hum, não foste muito claro no primeiro post, nem disseste que era para um filtro. Sendo assim tens que usar tabelas de N para N, muitos para muitos, para fazeres relações entre as tabelas pai e filho. O campo num_familia ou cod_familia tem que ser à parte. Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro. ndsotware.org Link to comment Share on other sites More sharing options...
Daniivo Posted June 26, 2012 at 08:30 PM Author Report Share #465773 Posted June 26, 2012 at 08:30 PM hum, não foste muito claro no primeiro post, nem disseste que era para um filtro. Sendo assim tens que usar tabelas de N para N, muitos para muitos, para fazeres relações entre as tabelas pai e filho. O campo num_familia ou cod_familia tem que ser à parte. e da-me um exemplo de um select e de um insert sff Link to comment Share on other sites More sharing options...
NunoDinis Posted June 26, 2012 at 08:35 PM Report Share #465775 Posted June 26, 2012 at 08:35 PM Primeiro dá uma vista de olhos nisto para perceberes as tabelas N para N: http://pt.wikipedia.org/wiki/N_para_N Depois de leres isso dá uma vista de olhos ás tuas tabelas, não estão bem feitas. Antes de te dar o exemplo convém perceberes, assim irás aprender, agora se te der feito é só copy/past e não queres isso, presumo. Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro. ndsotware.org Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted June 26, 2012 at 08:58 PM Report Share #465780 Posted June 26, 2012 at 08:58 PM visto que quererás inserir um filho, presumo que tens toda a informação a ser inserida, isto inclui o Numero_de_familia pelo que percebi é somente isto (não existe nenhuma relação N-N): // sql para saber o numero de familia // terás de alterar o xxx pelo numero de familia select `id_pai` from `pai` where `Numero_da_familia` = 'xxx' depois de saberes o id_pai através do query anterior é só inserir os filhos com a informação a associar (id_pai) depois é só inserir IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
NunoDinis Posted June 26, 2012 at 09:04 PM Report Share #465783 Posted June 26, 2012 at 09:04 PM (edited) pois, eu não tenho essa perspetiva. Ou então não percebi bem o que Daniivo realmente quer.. Edited June 26, 2012 at 09:05 PM by NunoDinis Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro. ndsotware.org Link to comment Share on other sites More sharing options...
Daniivo Posted June 27, 2012 at 02:19 AM Author Report Share #465813 Posted June 27, 2012 at 02:19 AM (edited) visto que quererás inserir um filho, presumo que tens toda a informação a ser inserida, isto inclui o Numero_de_familia pelo que percebi é somente isto (não existe nenhuma relação N-N): // sql para saber o numero de familia // terás de alterar o xxx pelo numero de familia select `id_pai` from `pai` where `Numero_da_familia` = 'xxx' depois de saberes o id_pai através do query anterior é só inserir os filhos com a informação a associar (id_pai) depois é só inserir loool nao é n para n porque 1 pai tem varios filhos e 1 filho tem so um pai ou seja 1 to n. eu vou ver se essa query serve... imagina que eu quero selecionar um filho como faço??? faço 2 selects um para o pai e outro para o filho, nop!! tenho que fazer um join ou algo assim, ajudem-me sff. nunu eu sei o que é uma relação de n para n! Edited June 27, 2012 at 03:36 AM by Daniivo Link to comment Share on other sites More sharing options...
yoda Posted June 27, 2012 at 06:35 AM Report Share #465821 Posted June 27, 2012 at 06:35 AM Estás com problemas porque o esquema da base de dados está mal. Se o número da família corresponde a facturação ... está tudo dito. Não está ali a fazer nada. Qualquer Pai (respectivo ID único) serve como identificador. Não precisas também da tabela Filhos, não faz sentido a partir do momento em que podes ter Avós. Este esquema deve resolver o teu problema. Pessoa Id (Está subentendido que Id corresponde à tabela, se as vires numa perspectiva orientada a objectos) nome Facturacao_Pessoa (Tabela pivot entre Pessoa e Facturacao. Se usares o engine InnoDB, não precisas de mexer nesta tabela directamente) id_pai ( = id em Pessoa) id_facturacao ( = id em Facturacao) Facturacao id --------- Experimenta e diz algo. before you post, what have you tried? - http://filipematias.info sense, purpose, direction Link to comment Share on other sites More sharing options...
Daniivo Posted June 27, 2012 at 02:25 PM Author Report Share #465940 Posted June 27, 2012 at 02:25 PM (edited) Estás com problemas porque o esquema da base de dados está mal. Se o número da família corresponde a facturação ... está tudo dito. Não está ali a fazer nada. Qualquer Pai (respectivo ID único) serve como identificador. Não precisas também da tabela Filhos, não faz sentido a partir do momento em que podes ter Avós. Este esquema deve resolver o teu problema. Pessoa Id (Está subentendido que Id corresponde à tabela, se as vires numa perspectiva orientada a objectos) nome Facturacao_Pessoa (Tabela pivot entre Pessoa e Facturacao. Se usares o engine InnoDB, não precisas de mexer nesta tabela directamente) id_pai ( = id em Pessoa) id_facturacao ( = id em Facturacao) Facturacao id --------- Experimenta e diz algo. yoda, nao te esqueças que o numero de familia nao è dispensável è algo que tem que existir nao apenas para identificar mas também para na fatura aparecer, Titular "x", correspondente do numero_de_familia "y", depois os filhos vao ficar relacionados com eles numero por sua vez com o titular/pai. BEM eu vou explicar todo o problema e assim vc ja sabem o que objectivo. a ideia è: Titular de um seguro (quem paga o seguro) tem um numero de seguro,em espanhol chama-se "Numero de Poliza". Asegurados (pessoas que estao asseguradas, ou seja pode ser um titular apenas ou o titular mais y pessoas, ou pode ser apenas x pessoas sem o titular do seguro, ou seja dando exemplo: exemplo 1: uma pessoa segurada titular do seguro; exemplo 2: 2 ou mais pessoas, titular do seguro e os filhos + esposa; exemplo 3: 1 ou mais pessoas, filhos; Tabela de Asseguradoras Tabelas de Seguros yoda ajuda-me sff Edited June 27, 2012 at 02:36 PM by Daniivo Link to comment Share on other sites More sharing options...
Daniivo Posted June 27, 2012 at 03:08 PM Author Report Share #465958 Posted June 27, 2012 at 03:08 PM um select deve ser algo parecido com isto: mysql_query("SELECT poliza FROM titular_seguro, Asegurados WHERE titular_seguro.id_titular_seguro=Asegurados.id_titular_seguro"); mas antes disto eu quero saber com faço o insert que nao tenho ideia.... Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted June 27, 2012 at 03:28 PM Report Share #465978 Posted June 27, 2012 at 03:28 PM explicar como se escreve um comando (My)SQL é complicado pelas imensas variantes que existem o melhor é ir mesmo à documentação http://dev.mysql.com/doc/refman/5.5/en/insert.html IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Daniivo Posted June 27, 2012 at 04:15 PM Author Report Share #466000 Posted June 27, 2012 at 04:15 PM consegui!!! fdx tenho a cabeça mais pesada, sinto que se criou mais umas ramificações lol Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now