Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hey,

ch moechte mal fragen ob jemand mir helfen koennte mein script fertig zu bringen

Ich moechte eine mysql Abfrage die alle Daten von einer Tabelle AGENTUR an hand einer Spalte firma eindeutig einem USER über die agentur.id zuweist ...die neue dafür verwendete spalte in der user tabelle könnte user.agentur_update heißen

dh. in die neue spalte agentur_update beinhaltet dann die id der entsprechenden agentur, die spalte firma können wir dann aus der user tabelle entfernen und hätten immernoch die referenzierung über agentur um an die daten zu kommen.

Here is der Agentur script,die ich gebastelt habe.

CREATE TABLE agentur(id_firma INT(11), firma VARCHAR(25));

SELECT * FROM test.user LEFT JOIN test.agentur ON user.id_firma = agentur.id_firma;

Dann hab ich diese Tabelle bekommen. -------+------------+----------------------------------+--------+----------+-------+ | id | id_firma | vorname | nachname | strasse | plz | wohnort | email | passwort | date | time | ip | newsletter | session | points | id_firma | firma | +----+----------+---------+----------+-----------------------+-------+-----------+-------------------------+----------+------------+----------+---------------+------------+----------------------------------+--------+----------+-------+ | 40 | 0 | name | lastname | belgerstr .7| 12987 | Yakima |ass@yahoo.com | ard | 2008-07-09 | 12:50:00 | 194.163.234.7 | 0 | 939329349249214 | 14 | NULL | NULL | +----+----------+---------+----------+-----------------------+-------+-----------+-------------------------+----------+------------+----------+---------------+------------+----------------------------------+--------+----------+-------+ 1 row in set (0.00 sec) fuer die naechste Operation
neue dafür verwendete spalte in der user tabelle könnte user.agentur_update heißen dh. in die neue spalte agentur_update beinhaltet dann die id der entsprechenden agentur, die spalte firma können wir dann aus der user tabelle entfernmen und hätten immernoch die referenzierung über agentur um an die daten zu kommen.
habe ich die Funktion INSERT einfach mal benutzt
INSERT INTO test.agentur SELECT 'firma' AS 'id_firma' from test.user;

aber ich hab ein error bekommen

1

ERROR 1136 (21S01): Column count doesn't match value count at row

Hilfe!:(

MFG

Danke Robotto fuer die schnelle Antwort.

Also es geht nicht weil die Tabelle user mehr parameter als agentur hast.

und hast du eine Idee wie ich es machen kann, um dieses Problem zu beseitigen.

und auch wie kann ich denn die user und agentur gleich machen,so dass wenn man sich anmeldet an der stelle Firma name nur ein Agentur_id steht.

MFG

Ich hab jetzt kapiert. was du gemeint hast und wo das Fehler liegt.

Wie kann ich den alle dateiname und Id von Firma und bei Agentur zu legen

?

Mit INSERT INTO test.agentur(id_firma, firma) VALUES(NULL, alle Daten von test.user, NULL, NULL, ......);

Ich bin ideelos.

Also es geht nicht weil die Tabelle user mehr parameter als agentur hast.

Wie sieht denn das ERD aus? Ich werde aus der Problemstellung leider nicht so ganz schlau. Dein Insert für die agentur Tabelle muss bei Values 2 Parameter haben. also insert into <tabelle> values <spalte 1, spalte 2,... spalte n> oder Du musst die Felder explizit angeben, die gefüllt werden.

Hier findest Du einige einführende Informationen: MySQL Datenbankhandbuch

Phil

Ich werde nochmal dieses Buch anschauen.

ich hab es so versucht:

INSERT INTO agentur SELECT firmaname AS firma FROM user;

Geht es auch so?

Dann hab ich alle firmadata von User in Agentur kopiert

Uebrigens danke nochmal fuer den tips gestern

Phil

Bitte poste einmal das vollständige ERD, denn aus dem was Du schreibst verstehe ich nicht, was Du möchtest.

Du möchtest einen Insert auf Deiner Agenturtabelle machen aufgrund der Daten der Usertabelle, aber dafür benötigt man Tabellenstruktur und -beziehungen.

Phil

user

id INT

id_firma INT (frueher als VARCHAR)

name VARCHAR

vorname VARCHAR

Anschrift VARCHAR

email VARCHAR

Agentur

Id_firma INT

firma VARCHAR

Ich wollte mal die Daten von user.id_firma ins agentur.firma mit einer kopieren. ich es schon id_firma von einem String to INT verwandelt habe. Es gab schon Daten die immer noch als string in user gespeichert sing in der INSERT INTO()-Fktion.

diese Daten wollte ich in agentur.firma reinziehen und auch die user.id ins agentur.id_firma.

ich habe schon versucht mit dieser Operation oben ohne Erfolg.

ich habe ein error

 INSERT INTO test.agentur SELECT test.user.id_firma  AS firma FROM test.user;


ERROR 1136 (21S01): Column count doesn't match value count at row 1

Ich hoffe es war explicit genug

MFG

user

id INT

id_firma INT (frueher als VARCHAR)

name VARCHAR

vorname VARCHAR

Anschrift VARCHAR

email VARCHAR

Agentur

Id_firma INT

firma VARCHAR <= Du hast hier 2 Spalten !!!!!!!!

 INSERT INTO test.agentur SELECT test.user.id_firma  AS firma [B]<= hier hast Du aber nur eine Spalte [/B] FROM test.user;

Du musst genauso viele Spalten in den Insert aufnehmen, wie Du auf der Tabelle hast!

Phil

es hat funktioniert danke.

Magst deine Lösung noch posten? Wär vllt hilfreich für andere...

Danke Phil,

Also was du mit den Spalten gemeint hattest, war sehr hilfreich.

Ich habe die agentur spalte von id_firma weggemacht und einfach die Operation gefuehrt.

Also ich hatte 1 spalte von user.id_firma und 1 spalte agent.firma.

Am Ende habe ich nur die VARCHAR wieder mit INT zurueckgebracht und TADA!!

Laeuft.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.